2.2 C#语言环境 4
2.3 程序运行环境Microsoft Visual Studio 6
2.4 并发执行 6
2.4.1 并发的定义 6
2.4.2 几种常见的并发处理 7
2.5 异步操作与异步委托 8
2.5.1 异步操作 8
2.5.2 异步委托 8
3 BackgroundWorker相关概念 9
3.1 BackgroundWorker简介 9
3.2 BackgroundWorker的特性 9
3.3 BackgroundWorker常用方法 10
3.4 BackgroundWorker常用属性 10
3.5 Backgroundworker定义的三个事件 11
3.5.1 DoWork 事件 11
3.5.2 RunWorkerCompleted事件 12
3.5.3 ProgressChanged事件 12
4 如何应用BackgroundWorker类 12
4.1 BackgroundWorker类使用原理 12
4.1.1 创建BackgroundWorker对象 12
4.1.2 运行BackgroundWorker对象 13
4.2 如何使用 14
4.3 Backgroundworker应用实例 15
4.3.1 更新UI界面进度条的实例: 15
5 Thread类与Backgroundworker类的比较 17
5.1 Thread类的基本概念与简介 17
5.1.1 Thread类的相关概念 18
5.1.2 Thread类的构造函数及说明 18
5.1.3 Thread类的常用属性及说明 18
5.1.4 Thread类的常用方法及说明 19
5.2 Thread类与Backgroundworker类的比较 20
6 科研项目应用实例 20
6.1 科研项目简介 20
6.2 串口控制器与主窗体中的调用 20
7 结论 27
1 绪论
1.1 课题研究的目的
在做程序的过程中,我们很可能遇到这样的情况:当我们执行一个比较耗时的操作,即界面加载数据量略大的时候,在该操作未完成之前再去操作界面,就会出现停止响应的情况,这称为界面假死状态,这样不但无法高效的使用系统资源,提升应用程序的吞吐能力,更极大地影响了用户体验。
那么怎样才能做出一个能够及时响应的用户界面呢?——多线程和异步操作。为了更好地学习理解多线程以及异步操作,此篇课设论文,深入研究学习了在C#语言环境中,最简单且最安全的异步方法:System.ComponentModel.BackgroundWorker组件。
1.2 课题研究的意义
用backgroundWorker组件来新建一个线程,把耗时的部分放到这个线程中在后台进行处理。这样就不会影响界面的正常使用。举个通俗的例子,在我们打开一个网页的时候,先加载完的总是文字,然后图片在慢慢出现。这就是线程的应用,网页打开的时候先呈现出文字,供用户浏览,然后把加载图片放到一个单独的线程中,异步的在后台执行,执行完毕后把图片呈现出来。
这样就避免了一打开界面就加载大量信息,而造成的界面假死状态,大大提高了用户体验度。 Backgroundworker对象在多线程任务中的应用(2):http://www.751com.cn/tongxin/lunwen_38188.html