使用System.Threading.Timer与CustomThreadPool?

时间:2009-09-09 18:26:00

标签: .net multithreading

因此,根据MSDN,System.Threading.Timer在ThreadPool线程上调用它的回调委托。有没有办法让它使用自定义ThreadPool? (例如,Jon Skeet的CustomThreadPool。)

1 个答案:

答案 0 :(得分:5)

不使用System.Threading.Timer,不。使用System.Timers.Timer如果相关的线程池相应地实现了ISynchronizeInvoke,我相信你可以。我相信计时器会在BeginInvoke上调用SynchronizingObject来执行相应的回调。如果线程池实现ISynchronizeInvoke表示“将回调添加到工作队列”,它应该可以正常工作。

(我没有实现它,但它可能不会太难做。我的线程池非常原始btw - 或者至少它已经很老了! - 现在几乎肯定有更好的了。)