摘要: 最近写一些C/S架构的项目,总是用到多线程和异步处理数据,这样可以防止我的WinForm程序出现假死状态,但是有一点,在子线程中得到的数据,我如何放到我的主线程的控件上显示呢,这就出现了跨线程赋值的问题,开始我们很简单的可以用“CheckForIllegalCrossThreadCalls = false;”很容易解决,但是,这是很不安全的,这样的话,任何子线程都可以改变UI上面的值,如果有两个或两个以上的子线程同时要给同一个UI上的同一个控件赋值,那样我们就会只看到一个值,这个只是不是我们想要的就不一定了,而Invoke会由我们控制,不会出现刚刚那种情况,如果出现,你是写代码的逻辑不够清楚, 阅读全文
posted @ 2010-12-09 01:45 TerryZou1989 阅读(628) 评论(2) 推荐(1) 编辑