我有一个多线程应用程序,我希望能够使用计时器定期检查是否所有线程都已完成,然后再启动一个新线程,即:
var checkStatusTimer = new System.Threading.Timer(new TimerCallback(CheckThreads), null, 10000, 10000);
这是我所到之处。CheckThreads 方法需要做什么来检查它们是否完成?我正在考虑类似于检查它们的函数,例如:
foreach (Thread thread in Threads)
{
Thread t = thread;
if (t.ThreadState != ThreadState.Stopped)
return false;
}
我在正确的轨道上吗?这是解决这个问题的正确方法吗?或者我应该改用 System.Timers.Timer 吗?另外,我想做这个定期检查的函数形式是静态的。任何帮助,将不胜感激。