为什么.NET不允许跨线程操作?

时间:2010-05-24 11:13:32

标签: .net winforms multithreading

  

可能重复:
  .NET Controls: Why aren’t all calls thread-safe?

这个问题不是关于什么是跨线程操作,以及如何避免它,而是为什么.NET框架的内部机制不允许跨线程操作。

我无法理解为什么SerialPort DataReceived事件无法更新表单上的简单文本框以及为什么使用代理这可能?

1 个答案:

答案 0 :(得分:2)

.NET允许跨线程操作。但你应该安全地处理它。使用Invoke / BeginInvoke方法进行跨线程操作。调用意味着“嘿,文本框!如果你有时间,请更新自己。”以下是使用on MSDN

的示例