多线程和异步模式

三种模式:Wait Until Done, Polling, Callback

最初是通过BeginInvoke和EndInvoke来实现

但用BackgroundWorker完全可以替代,且代码会更接近业务的思维方式:

 

通过RunWorkerAsync()开启异步线程

并调用了DoWorkEventHandler中定义的异步处理

当异步线程处理结束会触发RunWorkerCompletedEventHandler中的结束事件(实际上已经回到主线程,用来实现对UI的更新等同步操作)

 

当需要异步线程循环进行操作时,可在结束事件中再调用RunWorkerAsync()

posted @ 2013-03-15 15:59  LionX  阅读(178)  评论(0)    收藏  举报