下载任务触发事件过程:
(说明:“|”表示分支,“||”表示并行,“{}”表示触发事件的线程[即执行事件处理的线程],“[]”表示事件所属对象和事件名称)
重要:为了使子线程的终止不影响事件过程,所有从子线程触发的事件都采用代理方式,由主线程处理。(线程初始化及缓存写入事件除外)
=======================================================================
{主线程、外部线程}(开始任务) ||==> [分块][Started]
||==> [任务][TaskStateChanged] ==> [任务管理器][TaskStateChanged]
||==> [任务][TaskStarted] ==> [任务管理器][TaskStarted]
=======================================================================
=======================================================================
{主线程、外部线程}(停止任务) ||==> [分块][Stopped]
||==> [任务][TaskStateChanged] ==> [任务管理器][TaskStateChanged]
||==> [任务][TaskStopped] ==> [任务管理器][TaskStopped]
=======================================================================
=======================================================================
{主线程、外部线程}(取消任务) ||==> [分块][Stopped]
||==> [任务][TaskStateChanged] ==> [任务管理器][TaskStateChanged]
||==> [任务][TaskAborted] ==> [任务管理器][TaskAborted]
=======================================================================
=======================================================================
{主线程}(写入文件) ==> [分块][WriteToFileStream] ==> [任务][TaskWriteToFileStream]
=======================================================================
=======================================================================
{子线程}(任务初始化) ==> [分块][TaskInit] ==> [任务][TaskThreadInitialized] ==> [任务管理器][TaskInitialized]
=======================================================================
=======================================================================
{子线程}(写入缓存) ==> [分块][WriteToMemoryStream] ==> [任务][TaskWriteToMemoryStream]
=======================================================================
=======================================================================
{子线程}(错误) ==> [分块][Error] |==> [任务][TaskError] ==> [任务管理器][TaskError]
|-------------------------------------
|==> ||==> [任务][TaskStateChanged] ==> [任务管理器][TaskStateChanged]
||==> [任务][TaskFailed] ==> [任务管理器][TaskFailed]
=======================================================================
=======================================================================
{子线程}(下载完成) ==> [分块][Completed] ||==> [分块][WriteToFileStream] ==> [任务][TaskWriteToFileStream]
||==> [任务][TaskCompleted] ==> [任务管理器][TaskCompleted]
=======================================================================
C#多任务多线程下载组件V1.1(源代码)
4星 · 超过85%的资源 需积分: 10 37 浏览量
2008-05-15
17:08:03
上传
评论 3
收藏 71KB RAR 举报
0xff
- 粉丝: 43
- 资源: 13
最新资源
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页