基于JAVA的多线程下载工具的实现计算机毕业设计论文.doc
《基于JAVA的多线程下载工具的实现计算机毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于JAVA的多线程下载工具的实现计算机毕业设计论文.doc(49页珍藏版)》请在三一文库上搜索。
1、基于JAVA的多线程下载工具的实现摘 要随着现代科技的迅猛发展,以信息化为基础的计算机技术已成为全球信息通信的雏形,计算机的发展逐渐进入一个全新的发展阶段,成为人们现在众所周知的热门话题。计算机技术的发展,使得网络成为人们获取信息的重要途径之一。人们获取数据,进行通信的方式其实就是将数据从一方传送到另一方。但是在传送的过程中,通常会由于一些突发状况,如网络接触不良导致掉线、电脑死机、蓝屏、或者电脑的一些其他原因,使得数据传输失败。尤其适当用户看到已经传到快要完成的时候,突然中断,导致其不得不重新下载,这给用户带来了很大的不便。多线程下载可以实现多个任务同步下载,大大的提高了下在速度,为用户节省
2、了时间。因此,研究JAVA多线程下载对人们方便使用下载工具下载内容具有重要意义的。关键字:JAVA;多线程下载;数据传输Based on the Realization of the Java Multi-thread Download ToolsAbstractWith the rapid development of modern science and technology, represented by the Internet also obtains the rapid development of computer network. Therefore, prompting th
3、e development of computer has entered a new stage, which become a hot topic that is known to all and everyone has concerned. The development of computer technology makes the network become one of the most important ways of accessing to information. To get the data, the way people communicate is to t
4、ransfer data from one party to another party. But in the process of transfer, usually due to some unexpected situation, such as network poor contact lead t o drop, computer crashes, blue screen, or some other reasons, the computer makes a failure in data transmission. Particularly appropriate users
5、have seen it almost finished, s suddenly break, it has to download again, which gives the user a great deal of inconvenience. Multi-threaded download can implement multiple task synchronous download, greatly improves the speed, which saves time for the users. Therefore, be convenient for people to s
6、tudy JAVA multi-thread download in using download tools to download content is of great significance.Key words: Java; Multi-threaded download; data transmission目 录摘 要IAbstractII1 绪论11.1 课题背景11.2 选题意义11.2.1 理论意义11.2.2 现实意义21.3 现状分析21.4 本文结构32 常用下载技术现状42.1 Web下载42.2 P2P下载52.3 流媒体下载62.4 多线程下载73 相关概念介绍9
7、3.1 Java多线程93.2 线程的创建和退出及其函数调用93.3 HTTP协议103.4 URL和HTTP URL104 多线程下载工具需求分析114.1 用户需求分析114.2 可行性分析114.2.1 技术可行性124.2.2 经济可行性124.2.3 操作可行性124.3 业务流分析125 多线程下载工具的设计135.1 整体设计135.2 模块划分135.3 数据下载流程145.4 关键技术155.5 基本操作156 多线程下载工具的实现176.1 下载任务模块176.2 线程启动模块186.3 用户界面模块196.4 下载工具的实现197 系统测试227.1 系统测试环境227.
8、1.1 网络环境227.1.2 硬件环境237.2 软硬件配置237.2.1 测试程序的启动237.2.2 测试新建下载任务247.2.3 下载任务测试25结论26参考文献27致谢28外文原文29中文翻译3921 绪论1.1 课题背景21世纪的主要特征是数字化、网络化和信息化,它是以网络为核心的信息化时代。计算机对社会人类社会生活的各个方面并且对经济的发展发挥着无可替代的作用。计算机可以使使用者快速传输文件资料,以及使用户在网上搜索并下载个人所需的各种资料,包括图片、音乐、小说和视频等。很多人认为现在已经是Internet的时代,因为计算机在不断的以各种形式改变着人们的生活和工作,他给各个国家
9、的发展带来了巨大的好处,并加快了全球信息化的进程。计算机的快速发展,使得人们对数据的获得要求也越来越高。在计算机发展初期,用户获得数据的方式也很简单,就是以读取的形式,这种方式下载资料,有很多的弊端,不仅下载速度缓慢,而且当计算机由于某种原因:断网、断电或电脑故障时,就会导致下载失败,想要重新下载,就必须从头开始再下载一次。而且,如果是下载较大型的文件,其传输速度缓慢,给用户带来太多的不便。除此之外,最初的下载方式不支持一次性下载多个文件,只能下载一个。所以对于计算机不断发展的今天,研究出一种下载快速又相对稳定的下载工具是至关重要的。现如今,计算机网络以惊人的速度发展壮大,逐渐走进寻常百姓家中
10、,已经成为人们生活、学习和工作的必须品。而随着计算机的发展,对于人们获取资源的方式也在不断的更新。开始人们获取资源的形式是通过访问服务器,即人们熟知的C/S模式,C是客户端,S是服务端,客户端通过向服务器发送请求,然后服务器把客户端所需的数据传递过去,这是最简单的传递方式。与此相类似的,还有目前流行的P2P(Peer-To-Peer)下载技术,它的实现原理是两个用户之间可以传递信息,而无需经过服务器的传输。与C/S模式相比,这种下载方式更加快速便捷。在此基础上,随着网络的快速发展,人们还研究出一种流媒体下载技术,这种下载技术的优点在于可以缓存下载,在使用的同时达到下载的目的,既方便了用户的使用
11、,也下载了资源,为用户带来了很大的方便。由以上的分析可以看出,随着计算机网络的不断发展,信息在不断更新的同时,技术也在不断的进步,同时新的下载技术也在运用而生,为人们的生活和工作提供极大的便利。而多线程下载技术,是目前很流行的一种技术,它不仅可以解决多任务下载,即几个文件同步下载,也有断点续传的功能,即在因为各种突发状况阻止了正常的下载时,会保存已有的下载资料,当再一次下载时,会从上一次停止下载的地方开始继续下载。多线程下载技术还可以提高带宽和CPU的使用效率,可见这种下载技术与最初的下载技术相比为用户带来了很多的便捷,同时也加快了下载的速度。笔者撰写本文,就是通过比较已有的下载工具,发掘其的
12、优缺点,在此基础上研究和分析多线程下载技术,并实现了这一技术。1.2 选题意义1.2.1 理论意义从理论意义上看,多线程下载技术与传统的下载工具相比,有很多优点,这种技术可以提高下载速度从而增强系统利用率,除此之外由于该技术能够支持多任务同步进行下载,所以可以提高CPU的利用率,还能充分利用系统内部的有用资源。在如今的科技高速发展情况下,软件和新技术的开发的更新换代速度飞快,人们对更加新颖、更加实用的软件资源都如饥似渴,电子产业在拥有良好的市场的前提下,想要发展的话就必须拥有良好的运作经营模式和远大的发展战略。而实际上国内的技术水准已经与国外许多优秀电子企业的水准不相伯仲,但是,围栏网应对更加
13、激烈的国际竞争,我们必须不断研究新技术,提出新设想,设计出更加新颖方便的软件来。因此,我们必须不断学习,研究开发。本课题是基于学习Java课程以后,对其进一步研究,深入探索,并且借鉴前人的观点而提出来的,在研究前人的技术后,对Java多线程进一步探索,做出了多线程下载工具。1.2.2 现实意义从现实意义上看,电子时代是21世纪的新型代表,它推动着人们的生活逐渐步入信息化时代。据不完全统计,近几年,我国网民以百分之三十多的速度递增。据专家组统计目前我国网民的人数已经达到四亿多。现如今,人们查找资料,第一时间想到的就是从网上获取,下载自己所需的资源。而用户对网络的要求也不断加大,他们为了节省时间,
14、通常会选择最安全,最稳定,下载最快的工具来获取资源。随着十八大全面深化改革的提出,科技的发展占据着举足轻重的作用,特别是对计算机技术的推动有很重要的意义。Java多线程下载工具可以为人们提高工作效率,有效利用资源配置有很大的帮助,所以本课题的提出既有一定的理论意义,也有一定的现实意义。1.3 现状分析线程技术的提出是在60年代左右开始的,然而,真正将多线程这一技术使用到操作系统中,是在80年代中期。传统的Unix通常也支持多线程技术,但是一般在一个进程中只能有一个线程,因此多线程便意味着多进程。到目前为止,多线程技术已经被很多操作系统所支持,例如:Windows,Linux。为什么有了进程这个
15、概念后,还要引入线程的概念?而且多线程技术和多进程技术的优点何在?以及什么样的技术程序会使用多线程技术?这些都是应该首先要考虑的问题。在20世纪60年代左右,进程这一名词首先在麻省理工学院的MULTICS系统和IBM的CISS/360系统中被引进和说明。进程和线程是调度的基本单位,它们管理的是操作系统的核心部分,线程描述的是进程内的执行,负责执行包含在进程的地址空间中的代码。进程有三个重要特性,分别是:第一,独立性。进程是系统中独立存在的实体,它可以拥有自己独立的资源。例如:文件和设备描述符等。未经进程的允许,其他进程不能访问到这些资源。第二,动态性。程序只是一个静态的指令集合,而进程是一个正
16、在系统中活动的指令集合在进程中加入了时间的概念。进程具有自己的生命周期和各种不同的状态。第三,并发性。并发性由独立性和动态性衍生而来。若干个进程可以在单处理机状态上并发执行。并发与并行:并行,指在同一时刻内,有多条指令在多个处理机上同时执行。并发,指在同一时刻内,只能有一条指令执行,但多个进程的指令被快速轮换执行,使得在宏观上具有多个进程同时执行的效果。线程和进程相比有以下优点:第一,“节俭”的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段。运行一个进程中的多个线程,彼此之间使用相同的地址空间、共享大部分数据、启动
17、一个线程所花费的空间远远小于启动一个进程所花费的时间。线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。第二,线程间方便的通信机制。对不同进程来说,它们具有独立的数据空间,要进行数据的传递只能通过通信的方式进行,这种方式费时而不方便。由于同一进程下的线程之间共享数据空间,它们共享全局变量、共享进程指令、大多数数据和打开的文件(如描述字)、信号处理程序和信号处置、当前工作目录、用户ID和组ID,一个线程的数据可以直接为其他线程所用,快捷方便。第三,提高运用程序响应。对图形界面的程序尤其有意义当一个操作耗时很长时,整个系统都会等待这个操作,此时程序不会响应键盘、鼠标、菜单的操作使用多线程技
18、术,将耗时长的操作置于一个新的线程,可以避免这种尴尬的情况。第四,使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时不同的线程运行于不同的CPU上。第五,改善程序结构。进程分为多个线程,成为几个独立或半独立的运行部分,程序利于理解和修改。第六,数据共享问题。有的变量不能同时被两个线程所修改,有的子程序中声明为静态的数据更有可能给多线程程序带来灾难性的打击,带来了同步问题。这些是最需要注意的问题。1.4 本文结构本文通过参考各学者们对下载工具的研究内容,深入分析各种下载技术的工作原理以及它们之间的的优缺点,着重探讨多线程下载技术,并在此基础上对多线程下载技术进行研究,实现其功能。首
19、先从网络的发展与现状入手,对网络上流行的下载工具进行介绍。随后总体介绍论文的研究内容,随后阐述论文涉及到的相关技术,对相关技术进行深入分析,介绍本文设计用到的相关概念,最后对全文进行总结。其结构设置如下:第一部分 绪论主要论述关于多线程下载技术的背景介绍,研究意义,现状分析等;第二部分 主要是分析常用的下载技术的现状,并对比分析各种下载技术的优缺点;第三部分 对所涉及到多线程下载技术相关概念的介绍;第四部分 多线程下载技术的需求分析;第五部分 多线程下载技术的设计部分;第六部分 多线程下载工具功能实现第七部分 系统测试。2 常用下载技术现状网络下载工具的技术的演进大体上可以划分为四个阶段,分别
20、是Web下载、P2P下载、流媒体下载、多线程下载。这些技术随着计算机的发展,不断有所突破,不断进步着,给人们的生活带来了极大的方便。以下分别对这些技术做简要的介绍,对各自的主要技术核心做出分析。2.1 Web下载这种方式在互联网上是最常用的,也是最传统的方式。最初用户在网上发送邮件或者下载资料时,都是使用C/S方式。C(client)是客户,S(server)是服务器它们都是在通信过程中的两个应用程序。当客户端向服务器提出下载请求时,服务器端收到请求后,就会将信息资源传输个给客户端。最常用的Web下载方式有两种,分别是HTTP和FTP,这是两种常见的传输协议,这两种协议规定了浏览器如何向服务器
21、请求万维网文档,并且服务器如何把文档传送给浏览器的过程。用户使用这两种协议与服务器发生链接,然后把数据传送并保存到本地,实现下载的功能。HTTP是Hyper Text Transportation Protocol的简称,即超文本传输协议。这种下载方式是最传统的,也是最简单的一种。其下载的基本原理就是客户利用HTTP这种特殊的合适和规则向服务器传递信息,然后服务器发出应答请求,将数据传输给用户并保存到用户电脑上,以此来实现下载的目的。这种下载方式是最初开始的,其他在后来发展起来的下载方式都是以HTTP下载为基础衍生出来的,它在所有的下载方式中发挥着很重要的作用。然而HTTP下载也存在着一些弊端
22、,在客户请求下载时,必须先建立TCP连接,然后才能向服务器发送下载资源的请求。但是一般服务器上的数据是有限的,有时候客户可能无法找到自己想要的信息,这就给客户资料的来源带来麻烦。并且,在同一时间,可能会有不同的客户向同一台服务器发送了下载请求,导致服务器向多个客户发送响应,会减缓响应的速度,从而导致下载速度缓慢,影响客户的工作和学习。FTP是File Transfer Protocol的简称,中文名是文件传输协议,它是Internet上使用最广的文件传输协议。FTP下载也是网络上下载资源很传统的一种方式。它提供交互式的访问,允许用户指明文件类型和格式、可以控制下载数据的用户数、屏蔽计算机系统的
23、细节、可以将下载资源的速度控制在一定的范围等这些优势。这种下载技术比较适合下载容量比较大的资源,比如:电影、视频等。客户端服务器服务下载请求收到下载请求Web下载的工作原理见图2.1所示。图2.1 Web下载原理图2.2 P2P下载P2P下载(Peer-To-Peer),也叫对等连接指的是两个主机在通信的过程中不加以分别服务请求方和服务提供方,它们是平级的关系。在通信的过程中,如果两台主机之间运行了对等连接软件即P2P,它们之间的通信就是平等的,对等的。并且,二者之间可以相互下载对方存储在硬盘中的共享文档。P2P的工作原理的实质还是客户服务器的方式,但是其中的每台主机既可以作服务器也可以做客户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 多线程 下载工具 实现 计算机 毕业设计 论文
链接地址:https://www.31doc.com/p-3920599.html