异步编程模式
一.异步编程模式概述
1.异步编程模式使用场景及优点
使用场景:同时执行多项任务、但仍能响应用户交互的应用程序。
使用类:BackgroundWorker
优点:
(1)“在后台”执行耗时任务(例如下载和数据库操作),但不会中断您的应用程序。
(2)同时执行多个操作,每个操作完成时都会接到通知。
(3)等待资源变得可用,但不会停止(“挂起”)您的应用程序。
(4)使用熟悉的事件和委托模型与挂起的异步操作通信。
2调用机制
2.1 BackgroundWorker类讲解
(1)重要事件:
DoWork:具体的线程执行的代码块,就是让这个线程做什么的,自己填充内容。。
ProgressChanged:用于更新进度的回调,比如有一个进度条,当doWork中执行了任务的时候,调用BackgroundWork的ReportProgress方法,就可以把进度报告出来,然后这个函数捕获报告的内容,进行具体的进度操作。使用该函数的话,必须将BackgroundWork的WorkerReportsProgress属性设置为true。
RunWorkerCompleted:当线程执行完内容的回调函数。
另外还有三个重要的参数是RunWorkerCompletedEventArgs以及DoWorkEventArgs、ProgressChangedEv