c# - 什么时候在 C# 中使用线程池?

标签 c# multithreading threadpool

<分区>

我一直在尝试学习 C# 中的多线程编程,但我对何时最好使用线程池与创建自己的线程感到困惑。一本书建议只对小任务使用线程池(不管那是什么意思),但我似乎找不到任何真正的指导方针。

线程池与创建自己的线程相比有哪些优缺点?每个都有哪些示例用例?

最佳答案

出于与任何其他语言相同的原因,我建议您在 C# 中使用线程池。

当您想限制运行的线程数量或不想产生创建和销毁它们的开销时,请使用线程池。

小任务,你读的书是指生命周期短的任务。如果创建一个只运行一秒钟的线程需要十秒钟,那就是您应该使用池的地方(忽略我的实际数字,重要的是比率)。

否则,您会将大部分时间花在创建和销毁线程上,而不是简单地完成它们打算完成的工作。

关于c# - 什么时候在 C# 中使用线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/145304/

相关文章:

c# - 在自定义方法中为数组中的元素分配最小值 (array.Min())

c# - 无法使用 smo 从 C# 执行脚本

node.js - 为什么 Node.js libuv 线程池执行不是并发的?

c - 错误 "Conversion to non-scalar type requested"

C#多线程文件IO(阅读)

c# - 如何使功能区控件快速访问工具栏位于 GUI 的顶部?

c# - 如何将点移动给定距离 d(并获得新坐标)

C++:OpenMP:为多线程复制函数指针

java - 我在下面的代码中做错了什么导致线程永远不会终止?

C# 线程读写文件