Java使用多线程的优势_第1页
Java使用多线程的优势_第2页
Java使用多线程的优势_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——Java使用多线程的优势Java使用多线程的优势

假设使用得当,线程可以有效地降低程序的开发和维护等本金,同时提升繁杂应用程序的性能。那么Java使用多线程的优势概括有哪些呢,一起来了解一下!

1、发挥多处理器的强大才能

现在,多处理器系统正日益盛行,并且价格不断降低,即时在低端服务器和中断桌面系统中,通常也会采用多个处理器,这种趋势还在进一步加快,由于通过提高时钟频率来提升性能已变得越来越困难,处理器生产厂商都开头转而在单个芯片上放置多个处理器核。

试想,假设只有单个线程,双核处理器系统上程序只能使用一半的CPU资源,拥有100个处理器的系统上将有99%的资源无法使用。多线程程序那么可以同时在多个处理器上执行,假设设计正确,多线程程序可以通过提高处理器资源的利用率来提升系统吞吐率。

2、在单处理器系统上获得更高的吞吐率

假设程序是单线程的,那么当程序等待某个同步I/O操作完成时,处理器将处于空闲状态。而在多线程程序中,假设一个线程在等待I/O操作完成,另一个线程可以持续运行,使得程序能在I/O阻塞期间持续运行。

3、建模的简朴性

通过使用线程,可以将繁杂并且异步的工作流进一步分解为一组简朴并且同步的工作流,每个工作流在一个单独的线程中运行,并在特定的同步位置举行交互。我们可以通过一些现有框架来实现上述目标,例如Servlet和RMI,框架负责解决一些细节问题,例如苦求管理、线程创造、负载平衡,并在正确的时候将苦求分发给正确的应用程序组件。

编写Servlet的开发人员不需要了解多少苦求在同一时刻要被处理,也不需要了解套接字的'输入流或输出流是否被阻塞,当调用Servlet的service方法来响应Web苦求时,可以以同步的方式来处理这个苦求,就犹如它是一个单线程程序。

4、异步事情的简化处理

服务器应用程序在采纳多个来自远程客户端的套接字连接苦求时,假设为每个连接都调配其各自的线程并且使用同步I/O,那么就会降低这类程序的开发难度。假设某个应用程序对套接字执行读操作而此时还没有数据到来,那么这个读操作将一向阻塞,直到有数据到达。

在单线程应用程序中,这不仅意味着在处理苦求的过程中将停顿,而且还意味着在这个线程被阻塞期间,对全体苦求的处理都将停顿。

为了制止这个问题,单线程服务器应用程序务必使用非阻塞I/O,但是这种I/O的繁杂性要远远高于同步I/O,并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论