您可以在线程池队列中放入多少项目有一些限制吗?
ThreadPool.QueueUserWorkItem(someCallBack);
MSDN 没有给出任何限制是什么,如果你可以通过它会发生什么(它是否暂时停止正在发布的线程?或者它是否抛出异常?)
举个例子。如果我只是在队列中排队 100,000 个项目会怎样。那行得通吗?
最佳答案
您可以使用 Threadpool.GetMaxThreads() 和 Threadpool.SetMaxThreads() 来确定/修改池中的最大线程数。
当您对一个工作项进行排队时,如果可能,它将使用池中的一个空闲线程开始执行,或者如果所有线程都忙,它将在开始执行之前等待一个线程可用。如果您排队某些东西并且没有可用的空闲线程,您将不会收到错误消息。
关于.net - 您可以在线程池中排队的工作项数量是否有限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5942011/