.net - 您可以在线程池中排队的工作项数量是否有限制?

标签 .net clr queue threadpool

您可以在线程池队列中放入多少项目有一些限制吗?

 ThreadPool.QueueUserWorkItem(someCallBack);

MSDN 没有给出任何限制是什么,如果你可以通过它会发生什么(它是否暂时停止正在发布的线程?或者它是否抛出异常?)

举个例子。如果我只是在队列中排队 100,000 个项目会怎样。那行得通吗?

最佳答案

您可以使用 Threadpool.GetMaxThreads() 和 Threadpool.SetMaxThreads() 来确定/修改池中的最大线程数。

当您对一个工作项进行排队时,如果可能,它将使用池中的一个空闲线程开始执行,或者如果所有线程都忙,它将在开始执行之前等待一个线程可用。如果您排队某些东西并且没有可用的空闲线程,您将不会收到错误消息。

关于.net - 您可以在线程池中排队的工作项数量是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942011/

相关文章:

c# 在日期范围之间退款

c# - C# 不支持静态索引器吗?

java - Java 中泛型的队列实现

c# - 程序集引用链是否需要传递?

c# - 在 Windows 7 框(64 位)上从 vb.net 创建快捷方式

c# - 获取对象处置/销毁的通知

c# - 代码的反射

c - 'struct <anonymous>' 没有成员命名

c++ - 从队列中检索成员项目?

c# - 设置 "Always copy to output directory"时,Content 和 None 有什么区别?