摘要: 为什么会发生“线程间操作无效”的异常。 在开发winform应用程序时,如果不是控件的创建者线程试图调用该控件时,则调试器会引发一个 InvalidOperationException,并提示消息:“从不是创建控件 ***(控件名) 的线程访问它。” 在多线程调用的情况下,由于本身程序就有一个主线程,现在你又新加一个线程,资源访问的不一致性,新加的线程是不可以直接访问另一个线程里的数据,包括控件; 原因总结:控件的调用者线程不是控件的创建者线程,这是.net实现资源安全访问机制的必然结果。访问 Windows 窗体控件本质上不是线程安全的。如果多个线程同时操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态。但是我们不能为了实现资源安全访问机制而坏了我们的大事。 阅读全文
posted @ 2012-03-12 18:14 rock.dean 阅读(542) 评论(0) 推荐(0) 编辑