【发布时间】:2010-11-04 00:31:25
【问题描述】:
更新:定时器是一个 System.Threading.Timer。
我们有一个在 Timer Tick 上更新的 UI 控件。在处置我们的控制时,我们调用 timer.Dispose()。当 UI 控件被调用后定时器触发时,我们偶尔会遇到 ObjectDisposedOExceptions。
我在msdn docs看到这个:
“调用 Dispose() 方法重载后可能会发生回调,因为计时器将回调排队等待线程池线程执行。您可以使用 Dispose(WaitHandle) 方法重载等待所有回调完成。”
但是,Compact Framework 无法访问该重载方法。
这种情况的最佳解决方法是什么?有没有办法让我们的 Dispose 方法阻塞,直到计时器完全释放?其他建议?
谢谢!
【问题讨论】:
标签: compact-framework timer dispose