C#与其事件处理程序一起杀死一个计时器

时间:2017-05-29 15:19:39

标签: c# multithreading timer

当我关闭程序时,在某些时候,我想杀死一个System.Timers.Timer以及它已经过去的事件处理程序。这是因为这个事件处理程序包含一些具有大超时的函数,在继续执行关闭过程之前,我想确保它被终止。如果正在进行中,如何终止事件处理程序执行?也许更好,我如何杀死计时器的线程?如何获得计时器或线程的处理程序? 代码没什么特别的。开始:

timer_txrx = new System.Timers.Timer();  
timer_txrx.Elapsed += OnTimerTxRxEvent;  
timer_txrx.Interval = TIMER_TXRX_INTERVAL;  

停止:

timer_txrx.Stop(); timer_txrx.Dispose(); timer_txrx = null;  

但是,当然,上述内容还不足以阻止它。我不仅希望阻止它触发新的“elapsed”事件,还要杀死当前事件处理程序执行,我想中止它的线程。

0 个答案:

没有答案