多线程编程:从线程包装器到BackgroundWorker的实践
1. 线程包装器基础
多线程编程中,线程包装器是一个重要的概念。以寻找指定范围内素数的算法为例,我们可以构建一个线程包装器来在后台线程执行这个耗时任务。
1.1 线程包装器基类
首先,我们需要一个基类 ThreadWrapperBase ,它包含两个必须重写的方法: DoTask() 和 OnCompleted() 。以下是一个简化的示例:
' Override this class to supply the task logic.
Protected MustOverride Sub DoTask()
' Override this class to supply the callback logic.
Protected MustOverride Sub OnCompleted()
1.2 创建工作类
为了实现素数查找功能,我们创建一个派生类 FindPrimesThreadWrapper 。这个类需要提供以下四个要素:
- 存储初始数据的字段或属性,例如搜索范围的起始和结束数字。
- 存储最终数据的字段或属性,例如素数列表。
- 重写的 DoTask() 方法,用于执行实际操作。
- 重写的 OnCompleted() 方法,用于引发完成事件。
超级会员免费看
订阅专栏 解锁全文
54

被折叠的 条评论
为什么被折叠?



