![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程
文章平均质量分 80
zhzhl202
这个作者很懒,什么都没留下…
展开
-
基于Java多线程的下载器源码剖析(二)
三:多个文件下载的管理 这一节我们主要来讲一下如何对多个文件的下载进行管理 首先来看一下整个系统的UML图 从最下面开始说起: Download代表一个下载类,对每一个文件都需要创建一个Download实例,用于对该文件下载线程的管理。其中每个Download中都有以下几个对象: private ConcurrentLinkedQueue blockQueue; pr原创 2012-04-29 10:36:04 · 3994 阅读 · 12 评论 -
基于Java多线程的下载器源码剖析(一)
本文实现了一个基于Java多线程的下载器,可提供的功能有: 1. 对文件使用多线程下载,并显示每时刻的下载速度。 2. 对多个下载进行管理,包括线程调度,内存管理等。 这篇文章的结构如下:首先讨论如何实现利用Java多线程对单个文件进行下载。然后讨论当系统中有多个文件下载,如何对这些下载进行管理。包括线程调度,内存管理等。 一:单个文件下载的管理 1. 单文件下载类层次 首先简要介原创 2012-04-28 21:29:16 · 14547 阅读 · 32 评论 -
基于Java多线程的下载器源码剖析(三)
四:缓存管理 在Thread切分文件时,会创建非常多的DownloadBlock,为了减少创建、销毁Block所带来对效率上的影响,我们会把已经创建好的DownloadBlock放入到缓存中,当Download需要DownloadBlock时直接从缓存中取得。即我们使用缓存来对已经申请的内存重复利用。 在每个Download类中都有一个缓存池,即ConcurrentLinkedQueue原创 2012-04-29 11:29:13 · 4178 阅读 · 31 评论