多线程下载文件(支持暂停、取消、断点续传)
多线程同时下载文件即:在同一时间内通过多个线程对同一个请求地址发起多个请求,将需要下载的数据分割成多个部分,同时下载,每个线程只负责下载其中的一部分,最后将每一个线程下载的部分组装起来即可。
涉及的知识及问题
请求的数据如何分段
分段完成后如何下载和下载完成后如何组装到一起
暂停下载和继续下载的实现(wait()、notifyAll()、synchronized的使用)
取消下载和断点续传的实现
一、请求的数据如何分段
首先通过HttpURLConnection请求总文件大小,而后根据线程数计算每一个线程的下载量,在分配给每一个线程去
1