多线程模式与平台互操作性编程解析
1. 背景工作者模式
背景工作者模式为调用长时间运行的方法提供了一种异步模式,即使原设计中未实现该模式。以下是设置该模式的步骤:
1.注册长时间运行的方法:将长时间运行的方法注册到BackgroundWorker的DoWork事件中。例如,长时间运行的任务是调用CalculatePi()。
2.接收进度或状态通知:若要接收进度或状态通知,需将监听器连接到BackgroundWorker.ProgressChanged事件,并将BackgroundWorker.WorkerReportsProgress设置为true。
3.注册完成方法:将一个方法(如Complete())注册到BackgroundWorker.RunWorkerCompleted事件。
4.支持取消操作:将WorkerSupportsCancellation属性设置为true,以支持取消操作。调用BackgroundWorker.CancelAsync会设置DoWorkEventArgs.CancellationPending </