|
1
4
无论何时使用
你可以推理出来,锁在里面控制着。调用是确保工作线程被阻塞直到UI线程执行委托目标所必需的。可能也有助于解释程序陷入僵局的原因。你启动了worker线程,它获得了
控制从调用日期。NET 1.0,该框架的一个版本,在与线程相关的代码中有几个严重的设计错误。虽然他们本想有所帮助,但他们只是为程序员设置了死亡陷阱。控制的独特之处是什么。调用就是这样 区分控制。调用和控制。开始沉思。你只有一次 需要 防止 因此,使用BeginInvoke已经足以解决这个问题。但这不是你应该停下来的地方。点击事件处理程序中的这些锁没有意义,它们所做的只是使用户界面没有响应,极大地困惑了用户。相反,您必须将这些按钮的Enable属性设置为 假 当工人完成时。现在它再也不会出错了,你不需要锁,用户得到了良好的反馈。 this Q+A .
|