第一次在论坛频道上发文章,大家轻拍。
有需要的可以一起研究一下,学了java也挣不了什么大钱,但可以写一些自己需要的工具,就当娱乐。没有需要的就当看个热闹。
前段时间为了下载播布客上的SWF视频,写了一个多任务、多线程的下载工具。
其中多线程下载部分是引用的ITEYE上别的同学的代码,地址找不到了,但代码中注释
/**
*
* @author annegu
* @since 2009-07-16
*
*/
public class DownloadTask {}
在使用时做了适当的小修改,以适合我的需求。在这里表示感谢!
同时也感谢播布客提供的视频。
关于多任务(多线程)部分还有一些问题不是很明白,希望各位大牛们指点迷津。
用的是jdk5里面的java.util.concurrent包。
public static void main(String[] args) {
// 构造一个线程池
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(5, 5, 30,
TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(70),
new ThreadPoolExecutor.DiscardOldestPolicy());
List<Map> list = getDownloadList();
for (int i = 0; i < list.size(); i++) {
try {
// 产生一个任务,并将其加入到线程池
threadPool.execute(new DownloadThread(list.get(i)));
} catch (Exception e) {
e.printStackTrace();
}
}
}
这里面ThreadPoolExecutor的几个参数值了解的不是很彻底,特别是
new ArrayBlockingQueue<Runnable>(70)
这个大小难道要比我所有的任务数要大吗?
附上下载列表的样式。解析地址的代码也放在了附件中。
第17讲:Chapter07.Instance.and.Media.Recovery.Structures
http://www.boobooke.com//v//bbk1413
第18讲:Chapter07.Instance.and.Media.Recovery.Structures
http://www.boobooke.com//v//bbk1414
相关代码在附件中。
分享到:
相关推荐
标题中的“多任务多线程下载器源码”是指一个软件程序,它的功能是同时处理多个下载任务,并且每个任务都是在独立的线程中运行。这种设计模式提高了下载效率,因为不同任务可以在CPU的不同核心上并发执行,避免了单...
综上所述,实现一个VC++多任务多线程下载程序涉及到的任务管理和线程调度、下载逻辑实现、用户界面设计以及错误处理等多个方面。在实际编码过程中,需要结合具体的需求和环境,灵活运用各种编程技术和工具。提供的...
总结来说,利用MFC实现的多任务多线程下载软件,通过创建多个线程并发下载,支持断点续传,提升了用户体验。这涉及到线程的创建与管理、文件操作、进度更新、错误处理等多个方面的知识点,展示了MFC在开发高效...
在Android平台上,多任务多线程下载是一种常见的技术,它能显著提高下载效率,尤其是在处理大文件或多个文件时。这种技术充分利用了设备的处理器资源,使得多个下载任务可以同时进行,提高了用户等待时间的利用效率...
在下载软件中,多线程可以将大文件分割成多个小部分,分别由不同的线程下载,显著提升了下载速度。 本软件的多任务处理功能则意味着用户可以同时管理并下载多个不同的文件。在实际应用中,用户可能需要下载多个文件...
本项目实践基于"人工智能-项目实践-多任务-使用AsyncTask实现的多任务多线程下载的Demo,支持断点续传.zip",旨在提供一个使用Android的AsyncTask类进行多任务、多线程下载,并且支持断点续传功能的示例。...
本篇将围绕"VC++ 多任务多线程下载程序源码"进行深入讨论。 首先,VC++(Visual C++)是微软公司开发的一款集成开发环境,它支持C++编程语言,并提供了丰富的库支持,包括MFC(Microsoft Foundation Classes)库,...
在这个"多任务多线程下载"的案例中,开发者可能使用了`Task`类来创建多个下载任务,并通过`Task.Run`或`Task.Factory.StartNew`方法启动它们。每个任务负责下载文件的一部分,这样可以充分利用系统资源,提高下载...
这个Demo,"Android-使用AsyncTask实现的多任务多线程下载的Demo支持断点续传",展示了如何高效且智能地管理下载过程。我们将深入探讨AsyncTask、多线程以及断点续传的概念。 首先,`AsyncTask`是Android提供的一种...
在这个“易语言源代码_多线程多任务下载软件.zip”压缩包中,包含了一个使用易语言编写的多线程多任务下载软件的源代码,主要文件名为“多线程多任务下载软件.e”。 多线程技术在软件开发中扮演着重要角色,尤其是...
支持多个下载任务,分块多线程下载,断点续传。 (对比上个版本,完成了遗留的功能,修改了事件触发过程及处理方式,重新整理了代码及注释) 内含两个窗体,可视为演示程序。 DownloadForm 下载窗体,含相关事件...
支持多个下载任务,分块多线程下载,断点续传。 (对比上个版本,完成了遗留的功能,修改了事件触发过程及处理方式,重新整理了代码及注释) 内含两个窗体,可视为演示程序。 DownloadForm 下载窗体,含相关事件...
第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程第二章多任务和多线程...
“断点下载”是多任务多线程下载中的一个重要特性。它允许我们在下载过程中暂停,然后在稍后的时间点从暂停的地方继续下载,而不需要重新开始。这通常是通过记录每个线程已经下载的数据位置来实现的。当用户重新启动...
4. **进度显示与管理**:为了提供用户友好的界面,多线程下载软件通常会显示每个任务的下载进度。易语言可以通过“设置控件文本”等命令更新UI元素,展示下载速度、已完成百分比等信息。同时,为了防止过多线程导致...
多线程允许程序同时执行多个任务,而不是顺序执行,这对于处理大量文件下载的情况尤其有益,因为它可以充分利用现代多核处理器的能力,减少等待时间。 Indy 是 Delphi 的一个标准组件库,它提供了网络通信功能,...
多线程 -- 没用线程池,因为不好控制状态; 事件驱动 -- 自我感觉不是很好,最好谁能改改; 另外,组件的封装也没仔细整理过~ 期待有人能做个完美的组件。 应用范围:文件下载、在线升级 (这个组件就是为了下载...
支持多个下载任务,分块多线程下载,断点续传。 详细介绍请查看先前版本。 (好像也没多少) 【升级说明】 1、增加了对未知大小文件下载的支持 2、增加了登录用户信息的支持 3、增加了FTP下载的支持 …… 其他(忘...
多线程下载工具在此基础上增加了并发处理的能力,使得下载过程更加高效。 【文件名称列表】 - `Form1.Designer.cs`: 这是Windows Forms应用程序中的一个设计时源代码文件,用于定义用户界面控件的布局和属性。 - `...