界面-工作者线程结构之:使用System.Threading
2012-02-12 19:25
211 查看
使用Thread类开启工作者线程有两种方式,一种是使用无参数的ThreadStart委托,这个比较简单,适用于主次不进行数据交互的操作;另一种是使用ParameterizedThreadStart委托,它有一个object类型的输入参数,也就是说他可以输入任意参数;今天只搞明白一件事,即利用ParameterizedStart时,主次线程之间的数据交互方式。
主 --> 次:将主线程数据直接打包在ParamenterizedStart委托的参数object(实际是个object[])中,此线程在开启时按照约定取出数据。
次 --> 主:在主线程中定义接收此线程数据并做相应处理的函数,定义相应形式的委托,将委托同样打包进object中,传入给次线程,这样次线程在线程执行过程中,可以在适当的时机,调用传入的委托,并将自己的数据传给主线程中的处理函数。
这当然是在主次双线程的情况下的一种可行的方案,是今天琢磨一天的收获,当然不一定就是最好的。
主 --> 次:将主线程数据直接打包在ParamenterizedStart委托的参数object(实际是个object[])中,此线程在开启时按照约定取出数据。
次 --> 主:在主线程中定义接收此线程数据并做相应处理的函数,定义相应形式的委托,将委托同样打包进object中,传入给次线程,这样次线程在线程执行过程中,可以在适当的时机,调用传入的委托,并将自己的数据传给主线程中的处理函数。
这当然是在主次双线程的情况下的一种可行的方案,是今天琢磨一天的收获,当然不一定就是最好的。
相关文章推荐
- 界面-工作者线程结构之:使用System.ComponentModel.BackgroundWorker类
- Multithreading For Performance 使用异步线程优化界面效果
- 界面-工作者线程结构之:异步委托调用
- Python:使用threading模块实现多线程编程八[使用Event实现线程间通信]
- Windows 线程漫谈——界面线程和工作者线程
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- 探秘System.Threading系列 - 第一篇:从Thread的线程单元状态ApartmentState说起
- 【进程线程与同步】5.4 System.Threading.Interlocked 为多个线程共享的变量提供原子操作
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- gem5: 使用ruby memory system中的mesh结构 出现AssertionError错误
- MFC 界面线程和工作者线程
- Windows线程漫谈界面线程和工作者线程
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- System.Threading.Interlocked.CompareChange使用
- Android半透明等待界面及使用线程控制结束
- 【进程线程与同步】5.4 System.Threading.Interlocked 为多个线程共享的变量提供原子操作
- Android中Handler的使用方法——在子线程中更新界面
- Android的消息机制,用Android线程间通信的Message机制,Android中Handler的使用方法——在子线程中更新界面,handler机制
- Android中Handler的使用方法——在子线程中更新界面
- 线程:主线程、子线程 同步线程、异步线程 单线程、多线程 System.Threading与System.Windows.Threading