Java 多线程断点下载实现思路

来源:互联网 发布:淘宝店铺上货采集软件 编辑:程序博客网 时间:2024/06/08 10:42
  1. 多文件下载列表的显示
  2. 启动多个线程分段下载
  3. 使用通知栏显示进度条
  4. 使用其他方式更新通知

多线程下载原理简介
假设要分3个线程下载一个100字节的文件,
第一个线程下载0-32
第二个线程下载33-65
第三个线程下载66-100

数据库操作—-
单例模式: 线程安全
线程同步: 对增删改增加synchronized关键字(牺牲了性能),读取不用。
尽量将线程中对数据库操作移出线程。

对线程集中处理,使用线程池。减少线程的创建与销毁。
Java中的线程池—-
线程池接口: ExecutorService
Excutors类提供的四种线程池:
1) newCachedThreadPool(): 带缓存的线程池
2) newFixedThreadPool(): 固定数量的线程池
3) new ScheduledThreadPool(): 定时的执行
4) newSingleThreadExecutor(): 单个线程模式

总结:
1) 多线程(分段下载、线程池)
2) 续传(单例模式、线程安全)

原创粉丝点击