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