<分区>
我一直在尝试学习 C# 中的多线程编程,但我对何时最好使用线程池与创建自己的线程感到困惑。一本书建议只对小任务使用线程池(不管那是什么意思),但我似乎找不到任何真正的指导方针。
线程池与创建自己的线程相比有哪些优缺点?每个都有哪些示例用例?
<分区>
我一直在尝试学习 C# 中的多线程编程,但我对何时最好使用线程池与创建自己的线程感到困惑。一本书建议只对小任务使用线程池(不管那是什么意思),但我似乎找不到任何真正的指导方针。
线程池与创建自己的线程相比有哪些优缺点?每个都有哪些示例用例?
最佳答案
出于与任何其他语言相同的原因,我建议您在 C# 中使用线程池。
当您想限制运行的线程数量或不想产生创建和销毁它们的开销时,请使用线程池。
小任务,你读的书是指生命周期短的任务。如果创建一个只运行一秒钟的线程需要十秒钟,那就是您应该使用池的地方(忽略我的实际数字,重要的是比率)。
否则,您会将大部分时间花在创建和销毁线程上,而不是简单地完成它们打算完成的工作。
关于c# - 什么时候在 C# 中使用线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/145304/