在设计的时候我联想到类似这幅画的结构,但是不会封装,画面: 有个建筑队,有一个包工头,N个工人假设4个,一个工具箱,工具箱里有N个工具,假设4个,包工头不做事,只指挥工人做什么事,使用什么工具; 工人使用指定的工具做指定的事情,在做事情的时候要跟包公头报告进度,做完之后报告包工头,包工头再给他们分配相应的任务。
[此贴子已经被作者于2007-10-10 16:42:39编辑过]
这是 我在做多线程下载时遇到的
对应: 建筑队:用户接口; 包工头: 线程调度对象 ; 工人: 工作线程; 工具箱 :下载的方式; 任务: 指定下载的某个文件或者某个文件的某部分。
我想将线程和任务分离开来,可动态的添加线程和任务 有点像线程池的模型,但是这里没必要使用线程池。所以我用一个线程来调用另外的几个线程,或者直接放在主线程调度就可以了,以前做的是几种下载方式混在一起的,修改和添加新下载方式都要很小心,很可能会影响到别的下载方式。