【问题标题】:Is it possible for windows event and Windows timer event to execute re-entrantly?windows事件和windows定时器事件是否可以重入执行?
【发布时间】:2011-05-12 16:33:05
【问题描述】:

我有“更新”方法,它在事件处理程序(按钮单击)和 Windows 窗体计时器回调中执行。是否可以同时执行两个“更新”(重新进入)?也就是说,当定时器回调正在执行时(调用 Update 方法),用户点击按钮,点击处理程序执行 Update。

或者,两个Update方法是完全序列化的,因为它们都是在UI线程中执行的。

或者,Update 是否可以将线程置于某种“Alertable Wait”(我对此不是很清楚),并且 Click Handler 可以作为 APC 执行?

你看,我完全搞混了……

任何解释将不胜感激!

【问题讨论】:

    标签: windows timer apc reentrancy


    【解决方案1】:

    这取决于所使用的一种计时器:一个在主 UI 线程上执行(System.Windows.Forms.Timer - 无法重新进入)或一个在其自己的线程中执行(System.Threading.Timer - 重新进入是可能的) .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-26
      • 2017-07-05
      • 1970-01-01
      相关资源
      最近更新 更多