【发布时间】:2012-10-06 13:48:15
【问题描述】:
可能重复:
Why .NET does not allow cross-thread operations?
Why is only the UI thread allowed to modify the UI?
据我了解,.net 引发非法跨线程调用异常的原因是 GUI 可能会显示不确定的行为。
但不是所有其他对象都是如此吗?如果两个线程在同一个对象上工作,根据代码,该对象可能处于不确定的情况。那么为什么控制元素存在这个例外呢?或者为什么这个异常是控制元素独有的。
那么使用调用有什么帮助呢?它仍然是不确定的。
【问题讨论】:
-
调用——这不仅仅是一个好主意;这是法律。
-
这不是真正的重复,这两个问题都是在问为什么不允许跨线程通信。这个问题是在询问 Invoke 的使用。