【发布时间】:2011-06-16 22:56:20
【问题描述】:
好吧,我已经搜索了很多解决方案。我正在寻找一种干净简单的方法来防止 System.Threading.Timer 的回调方法在我停止后被调用。
我似乎找不到任何东西,这导致我偶尔求助于可怕的 thread-thread.sleep-thread.abort 组合。
可以用锁来完成吗?
【问题讨论】:
-
after 不是你真正的问题。停止它同时回调运行是困难的情况。这是很有可能的。使用锁。
-
嗯,虽然问题不大,但还是应该检查和处理。否则回调可能会尝试使用一些已经被释放的资源或假设它们从未被再次调用等。我已经看到很多次由于回调中的错误假设导致应用程序退出时出现奇怪的错误。
标签: c# multithreading timer