今天冬至:BackgroundWorker


今天由于在winform中用到多线程。于是就研究起.net2.0中的BackgroundWorker
其实他已经是一个控件:在你的vs2005里的ToolBox里有一个BackgroundWorker控件,你可以把他往死里托,然后疯狂使用,确实省了不少事情。

用它实现了可以动态增加任意线程,并可以终止和开始,暂停任意一个线程,效果图:

发现里面有个:
worker.CancelAsync();//取消(暂停)执行

方法,但是我暂停后想继续接着原先的任务开始就没招了。。。那位知道告诉俺,不甚感激(各个线程状态使用Dictionary维护)

只好使用原始的委托和事件来满足需求。。。
posted @ 2007-12-22 23:19 overred 阅读(838) 评论(2)  编辑 收藏

  回复  引用  查看    
#1楼 2008-02-22 09:06 | coderlee      
backgroundwork确实节省了很多事情

多线程无非要解决两个事情
互斥资源的访问
界面线程的阻塞


  回复  引用  查看    
#2楼 [楼主]2008-02-22 23:14 | overred      
@coderlee
谢谢。。。
但是我的问题:使用BackgroundWorker 后,我暂停后想继续接着原先的任务开始就没招了。。。
BackgroundWorker 里有suppend?


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
另存  打印