当我关闭程序时,在某些时候,我想杀死一个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”事件,还要杀死当前事件处理程序执行,我想中止它的线程。