在时间间隔C#上安全地启动新的工作线程

时间:2015-03-22 23:26:10

标签: c# multithreading timer

我有一个工作线程来做一些背景工作。我想让它定期运行。我不希望这个线程的多个实例同时执行。因为我不希望螺纹数量螺旋失控。

我在这样的计时器上开始我的线程:

intervalTimer = new Timer(millisecondInterval);
        intervalTimer.AutoReset = true;
        intervalTimer.Elapsed += StartThread;

...

private void StartThread(object sender, ElapsedEventArgs e)
    {
        Thread workerThread = new Thread(new ThreadStart(RunTest));
        workerThread.Start();
    }  

这对我来说并不安全,因为我可能在第一个完成执行之前启动新线程。实现这一目标的安全方法是什么。

由于

0 个答案:

没有答案