因此,根据MSDN,System.Threading.Timer在ThreadPool线程上调用它的回调委托。有没有办法让它使用自定义ThreadPool? (例如,Jon Skeet的CustomThreadPool。)
答案 0 :(得分:5)
不使用System.Threading.Timer
,不。使用System.Timers.Timer
如果相关的线程池相应地实现了ISynchronizeInvoke
,我相信你可以。我相信计时器会在BeginInvoke
上调用SynchronizingObject
来执行相应的回调。如果线程池实现ISynchronizeInvoke
表示“将回调添加到工作队列”,它应该可以正常工作。
(我没有实现它,但它可能不会太难做。我的线程池非常原始btw - 或者至少它已经很老了! - 现在几乎肯定有更好的了。)