关于多线程的一点补充
2006-11-18 14:03
281 查看
多线程与工作流一文中将多线程设计思路与工作流设计思路进行了一下对比,突然想到了这个问题,就顺手发上来了
在开发WF的宿主程序中,我们或多或少的会用到多线程,如果宿主是WinForm程序,也有可能会用到跨线程访问UI控件的需要
看一下在NET1.1中的线程访问UI控件
上段代码在NET1.1中没有什么问题,可在NET2.0中,默认,UI控件只能由创建该控件的线程访问,所以上段代码在NET2.0中会报一个跨线程访问UI控件的异常。
看一下在NET2.0中如何实现上面的功能
在开发WF的宿主程序中,我们或多或少的会用到多线程,如果宿主是WinForm程序,也有可能会用到跨线程访问UI控件的需要
看一下在NET1.1中的线程访问UI控件
private void button1_Click(object sender, System.EventArgs e) { System.Threading.ThreadStart s =new System.Threading.ThreadStart(work); System.Threading.Thread obj = new System.Threading.Thread(s); obj.Start(); } void work() { textBox1.Text = "1"; } |
看一下在NET2.0中如何实现上面的功能
delegate void 委托(object v); void work2(object o) { 委托 x = new 委托(中介程序); this.Invoke(x, o); } void 中介程序(object v) { textBox1.Text = v.ToString(); } private void button2_Click(object sender, EventArgs e) { System.Threading.Thread obj = new System.Threading.Thread(work2); obj.Start("1"); } |
相关文章推荐
- 关于多核多CPU多线程和并行计算的一点补充
- DEMO[C#]关于类构造函数的调用顺序的一点补充[针对书C#入门经典所举范例的不足]
- 关于用vs.net 2005强类型DataSet构建全文搜索的一点补充!!!
- 关于使用TestDriven.Net 2.0的一点补充
- 关于多线程的一点感想
- 关于使用查询分析器access数据库导入Sql server数据库的一点补充
- 关于java中多线程的问题的一点思考(什么情况下需要考虑到线程,以及线程安全的问题?)
- 关于caffe学习系列的一点补充——如何将float类型的特征数据存入lmdb
- C语言基础:C语言指针(4) - 补充一点关于指针的小知识
- 关于asp.net无刷新联动的一点补充说明
- 多线程中关于synchronized的一点事
- Cocos2d-x开发中关于资源的预加载的一点补充
- 关于线程的一点补充
- 关于多线程的一点总结
- DEMO[C#]关于类构造函数的调用顺序的一点补充[针对书C#入门经典所举范例的不足]
- 关于多线程PostMessage和SenMessage的一点问题
- 关于对孟子E章《利用Repeater控件显示主-从关系数据表》的一点补充(转)
- 关于前一篇innodb自增列自己的一点补充
- 关于多线程的一点思考
- 关于用于静态变量实现singleton的多线程互斥的一点疑问