我最近试图弄清楚ThreadPool类的解决方案如何在.NET 4.0中运行。我尝试阅读反映的代码,但对我来说似乎有点过分了。
有人可以用简单的语言解释这个班级是如何运作的,即
答案 0 :(得分:2)
当然,在没有实际实施的情况下(或者在没有Eric Lippert :)的情况下)我所说的只是常识:
QueueUserWorkItem
)。答案 1 :(得分:1)
在代表队列中
TBH,我不确定,但是,如果不是,它是危险的,几乎没用,可能是M $发出的最糟糕的代码,(甚至包括Windows ME)。假设它是线程安全的。
工作线程是while循环,等待委托的工作请求队列,当它变为可用时调用一个,然后当委托返回再次等待队列再次委托另一个委托时再循环回来。不需要任何回调。
答案 2 :(得分:-1)
MSDN说是
GetMaxThreads()返回一次执行的线程的数量 你到达这个边界所有其他人都排队等候。据我了解你 需要机制来了解何时执行线程。有 RegisterWaitForSingleObject(WaitHandle,WaitOrTimerCallback,Object,Int32,Boolean)