我有一个Timer
可以做几件事的
private System.Threading.Timer _xTimer = new System.Threading.Timer(new TimerCallback(XTimerHandler), null, 0, _xTimerPollingInterval);
private void XTimerHandler(object param)
{
//some code.
}
我有一个停止计时器的功能:
private void Stop()
{
//some code.
if (_xTimer != null)
{
ManualResetEvent timerDisposeHandler = new ManualResetEvent(false);
_xTimer.Dispose(timerDisposeHandler);
_dataProcessingTimer = null;
//wait for dispose end.
timerDisposeHandler.WaitOne();
}
}
发生了一件非常奇怪的事情!
有时所有的 GUI 都会挂起timerDisposeHandler.WaitOne();
(但只是有时,我看不到在它发生的地方重复出现的模式,它只是动态地)
有没有人遇到过类似的问题并解决了?