【前端性能】多图下载

并发下载

一个页面下一般都有多张图片,要想提高浏览速度提升用户体验,那就只能用并发image

 

分组并发

实现细节上也会存在一些问题,例如我最开始采用的方式,一共有35个图片。 分5个线程并发,每个线程获取7个图片。

每个线程获取list中中的部分图片

image

 

计算每组的线程数,group_count就是每个线程需要下载的图片

image

 

提高线程可靠性

如上图,如果某一个或者几个线程下载的图片老是没有过来,由于下载任务已经分配,

那这些线程可能就需要花费更多的时间,甚至于失败。

单个线程可靠性的保证,我们可以采用定时器和重试两个保护方法。

image

 

按需分配任务,不提前分配任务

获取任务

对于每个线程来说,并不需要提前平均分配,也可以各个线程之间协调,在一个队列里面去获取

image

 

执行困难的任务返回队列

某个线程完成不了的任务,退回给队列

image

posted @ 2016-08-13 23:25  inns  阅读(214)  评论(0编辑  收藏  举报