ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:292.09KB ,
资源ID:2895632      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2895632.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java多线程下载技术论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java多线程下载技术论文.docx

1、java多线程下载技术论文摘 要线程可以理解为下载的通道,一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务时,使用下载者是共享带宽的,在优先级相同的情况下,总服务器会对总下载线程进行平均分配.线程越多,下载速度越快.当前的下载软件都支持多线程技术.通常服务器同时与多个用户连接,用户之间共享带宽。如果N个用户的优先级都相同,那么每个用户连接到该服务器上的实际带宽就是服务器带宽的N分之一。如果户数目较多,则每个用户只能占有可怜的一点带宽,下载将会是个漫长的过程。 具体研究内容:下载功能实现,包括单线程下载功能,多线程下载功能,多任务下载功能,删除任务的实现。

2、断点续传等功能包括,下载过程中,暂停下载,承接上次未完成的下载任务。(源码网整理:)关键词:多线程;线程安全;断点续传AbstractThe line Cheng can understand the passage for time be loaded with , a line Cheng is a document time be loaded with passage , multiwire Cheng is just to open up several time be loaded with passage at the same time. Being put into use

3、downloading person is to share bandwidths while the server provides time be loaded with service, the average the general server meeting is carried out on general time be loaded with line Cheng distributes under preferential step is identical situation. The line Cheng is getting quicker as downloadin

4、g speed much more. The popular time be loaded with software all supports multiwire Cheng. The simultaneous and many consumer of server links up generally , shares bandwidth between the consumer. If consumers N preferential step is all identical,every consumer links N one of mark being server bandwid

5、th to owing upper reality of server bandwidth so. Fruit the consumer number is more, every consumer can only occupy pitiful little bandwidth then , downloading the meeting is endless process. Study content concretely: The time be loaded with function realizes , includes the single line Cheng time be

6、 loaded with function, multi-thread time be loaded with function, the multitasking downloads a function , delete the mission realization. Breaking point adds biography wait for a function to suspend time be loaded with in including , downloading process, carries on not be completed time be loaded wi

7、th last time mission.Keywords: Multithreading; Thread security; Broken/Resume 目 录1 引言 11.1 网络下载技术 31.2 网络基本构架 31.3 多线程技术 32.1 课题的研究背景与意义 32.1.1 课题的研究背景 32.1.2 课题的研究意义 42.1.3 多线程下载的现状及发展趋势 42.2 可行性分析 52.2.1 技术可行性 52.2.2 操作可行性 63 相关基础知识以 63.1 JAVA中的多线程与线程安全 63.1.1 Java中的多线程 63.1.2 Java中的线程安全 73.2 Http

8、协议简介 83.3 断点续传原理 84 需求分析 104.1用户需求分析 104.2 业务流分析 115. 整体设计 115.1 系统设计要点 115.2 系统总体功能结构 125.3 开发环境:myeclipse + SWT 155.4 URL类和URLConnection类的使用 156.系统实现 166.1用户界面实现 166.2 下载任务实现 206.2.1 下载任务类图 206.2.2 下载任务顺序图 206.2.3 下载任务具体实现 216.3 监控下载信息设计 256.3.1 监控下载信息类图 256.3.2 监控下载信息顺序图 266.3.3 监控下载信息实现 26结 论 27

9、参考文献 28致 谢 29 1 引言11 网络下载技术网络下载技术一直是网络发展的重要推动力之一。原先的信息资源共享主要通过Wed技术实现,即先把共享的文件放到服务器上,然后客户机便可以通过HTTP和FTP等协议从服务器下载这些文件,这就是所谓的C/S结构。随着网络应用及网络用户的大量增加,Wed服务器需要对非常多的用户访问提供支持,这使得Wed服务器的性能成为了这类下载技术的最大瓶颈。这种情况下,以资源分散、负载均衡和非中心化为特点的PZP技术在文件共享领域得到了巨大的发展,它将共享的文件存储在客户机结点上,用户之间可以直接共享和传输文件而不需要通过中央服务器,此外,PZP技术还可以充分利用

10、参与结点的带宽,通过大量结点之间互相传递数据、合作下载的方式来提高网络中传送大容量文件的效率,例如BitT0rrent、eDonke岁eMule等。虽然PZP技术以完全脱离中心服务器为研究的重点,但目前在网络下载的实际应用中,服务器模式还仍然发挥着不可替代的作用,所以就发展出了一种所谓的PZSP技术,也就是PeertoServerandPeer技术。其实不过是传统C/S方式和一些PZP技术的结合,可以认为是一个NaPster网络、BitTorrent网络和传统wed网络的混合体,实际上仍然属于一种中心非结构化的PZP网络。PZSP技术利用一个中心服务器来存放大量的下载资源链接信息(URL),当

11、客户请求下载某个资源时,中心服务器就将相关的下载链接和一个peer的列表返回给客户,让客户从多个服务器下载资源的同时也将获得的资源上传给其他peers。PZSP在国内以迅雷的代表取得了巨大成功。对应以上网络技术的发展,就国内最普遍的应用而言,可以分为三个阶段:第一个阶段,以HTTP、FTP为主,并发展出了多线程下载方式,以FlashGet、NetAts为代表。这种下载模式由于受到服务器带宽的限制会严重影响下载的速度。第二个阶段,以BT和eMule为代表的PZP方式,其主要特征是下载源分布在众多个人终端电脑上,这种方式避免了单一带宽对下载速度的影响,然而由于下载育源头是个人电脑,其稳定性受到了一

12、定的制约。第三个阶段,以迅雷等为代表。整合了网络搜索、HTTP下载、FTP下载和P2P(BT、eMule)下载等多种技术,这种方式将多个Web服务器和客户一起组成PZP网络,保证了下载的速度和稳定性12 网络下载基本构架网络下载基本构架主要包括两种:C/S与P2P架构。传统的C/S网络发展出了HTTP压TP下载,并在客户端发展出了多线程下载方式;而P2P网络则发展出了BT、eMule这样的多源文件传输方式。传统的HTTP/FTP下载方式都是属于C/S架构,即客户端/服务器架构。这种模式的基本方法是将共享文件上传服务器上,而需要这些文件的用户再向服务器索取和下载共享文件,也就意味着来自各个客户端

13、的大量的上传下载数据都必须经过服务器这个中转站。BT协议则是属于P2P架构,即PeertoPeer。虽然对于PZP并没有一个统一的定义或标准,但PZP都有一个共同点就是充分利用各结点的资源,形成一个自组织网络,在网络中每个结点都是对等的,既享受别人的服务也为别人提供服务,传输文件数据时不再需要经过服务器。(源码网整理:)13 多线程技术传统操作系统中的单线程进程由进程控制块和用户地址空间、以及管理进程执行的调用/返回行为的系统堆栈或用户堆栈构成。如果把进程的管理和执行相分离,进程作为操作系统中进行保护和资沮分配的单位,允许一个进程中包含有多个可并发执行的控制流,这些控制流切扒时不必通过进程调度

14、,通信时可以直接借助于共享的内存区,这就形成了多线积进程。下图单线程进程和多线程进程的模型。目前,大多数操作系统都采用多线内核模型,支持多线程(结构)进程,如: Solaris2.x, Mach2.6,05/2, windowsNT,Chorus等。因而,对于应用软件的开发来说,出现了另外一种设计思路,即并发多线程程序设计的方法。合理的多线程软件结构,可以使得系统性能获得较大提高,具体表现在:1.改进程序结构。对许多程序来说,如果把程序分成多个独立或半独立的执行单元,而不是把程序设计成一个单一的复杂流程,将使程序有更高效的结构。2.快速线程切换,改进程序的实时响应能力。多个服务器程序的任务能够

15、单独以线程的方式执行,而线程的切换可以在同一个进程内进行,不需要在应用程序中维护人为的切换界面。客户程序也不用担心它们的请求会由于其他客户程序的请求所要时间太长而别拒绝。3.减少(系统)管理开销,(线程)通信易于实现,节省内存空间。4.并行程度提高。在单个处理器上运行一个多线程进程,系统将在多个线程之间切换处理器资源,即轮流为这些线程分配时间片,也就是并发执行。2.1 课题的研究背景与意义2.1.1 课题的研究背景以往我们开发的程序大多是单线程的,即一个程序只有一条从头至尾的执行线索。然而现实世界中的很多过程都具有多条线索同时动作的特性。例如,我们可以一边看电视,一边活动胳膊,如果不容许这样做

16、,我们会感觉很难受。再如一个网络服务器可能需要同时处理多个客户机的请求等。Java语言的一大特性就是内置对多线程的支持。多线程是指同时存在几个执行体,按几条不同的执行线索共同工作的情况,它使得编程人员可以很方便地开发出具有多线程功能、能同时处理多个任务的功能强大的应用程序。虽然执行线程给人一种几个事件同时发生的感觉,但这只是一种错觉,因为我们的计算机在任何给定的时刻只能执行那些线程中的一个。为了建立这些线程正在同步执行的感觉。Java快速地把控制从一个线程切换到另一个线程。 多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1