多线程下载
来源:互联网 发布:淘宝店铺旺旺更改昵称 编辑:程序博客网 时间:2024/05/17 16:15
多线程下载的使用的方法是分治法,把一个问题分成多个子问题,每个子问题解决之后,总问题也就得到了解决。子问题还可以细分为子子问题,当我们的计算资源有剩余时就应该增加细分粒度。
比如我们有一个大小为100M的文件需要处理,我们用10个线程来分解这100M文件,每个线程分到10M。假如10个线程同时开始,但是线程调度出现严重问题导致只有2个线程下载完了20M,我们还有80M内容需要下载,又假如此时用户点了暂停和重新开始。我们有10个线程,接下来就还是用这10个线程来处理80M的内容,这样线程也得到了充分的利用。当然如果按照之前每个线程处理10M也可以,而且还不用重新计算每个线程处理文件时的偏移信息。
我们来看看Android上的多线程下载怎么来实现。
1.获取某个URL对应的内容大小,这个可能是个html/txt/exe/apk等,反正就是一个URL,我们调用
java.net.URLConnection.getContentLength()方法可以获取一个URL对应的内容大小,比如一个文件100M
2.我们分配使用多少个线程来处理这个流,比如我们声明3个
3.随机一个全局的文件名 UUID.randomUUID()
4.
0 0
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 多线程下载
- 获得设备管理器列表包名
- IOS8无法启用定位的服务:CLLocationManager
- 手把手让你爱上Android sdk自带“9妹”(9patch 工具),让Android游戏开发更方便!
- caffe的安装
- 如何在Linux用C++写一个小工具
- 多线程下载
- [leetcode]
- 点击按钮出现新窗口
- 《javascript高级程序设计》读书笔记(一)javascript简介
- 数位dp n内1的个数递推找规律
- hdu 5040 bfs
- 支持多选的ListView实现方法(不需要CheckBox)
- Java进阶之美文共享
- poj3494