C#使用其他参数重新启动线程

我想在某个用户事件上启动一个后台线程,如果变量在传入时间和检查时间之间发生变化,我将在其中等待/睡眠10秒钟以执行某项操作。但是,在那10秒钟内,同一用户事件可能会重复,我想中断并重置线程以使用新变量,然后从10秒钟开始。例如,


private static int index = 0;

private static Thread myThread = null;


if(myThread != null && myThread.IsAlive) {

         // need to 'restart' the thread with updated index

         /* Suspend? Resume? */

    } else {

         // create a new thread and start countdown

         myThread = new Thread(new ThreadStart( some_Thread(index) ));

         myThread.Start();

    }

我读到suspend()和resume()都是过时的,并且已经阅读了有关Auto / ManualResetEvent的一些文章,但是它们并不是我想要的。它可能更接近Abort(),然后更接近Start()一个新的,但显然这是不明智的。


那么有什么建议如何用一个静态线程句柄来实现呢?同样,10秒钟的“睡眠”必须是可中断的,此后,该线程是可丢弃的或可重新启动的。谢谢!


喵喔喔
浏览 184回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP