专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 3种多线程程序常见形式

3种多线程程序常见形式

更新时间:2020-09-22 17:12:51 来源:星辉 浏览1311次

无论是java程序员还是正在学习java编程的朋友,对多线程一定都不陌生,一名合格的java工程师是必须要掌握java多线程的技能。线程是在编程中一定会出现使用的,多线程也是,那么你知道3种多线程程序常见形式有哪些,会在什么样的程序中使用,这篇文章介绍多线程程序常见形式有什么。

由1个以上的线程所构成的程序称为多线程程序(multithreaded program)。而java程序语言当初一开始就把多线程处理列入规格了。有不止1个线程在操作时,表示若要追踪各个线程的轨迹,就会派生出一团错综复杂的乱线团。

假设有人问到“请问现在正在执行程序的哪个部分?”时,都要指出“就在这里”。如果是多线程,你需要更多只手指头才能指出所有线程;也就是说,若正在执行的有2个线程,则应指出2个位置说“第1个线程正在执行这里,第2个线程则执行那里”。有3个线程,就得指出3个位置:有100个线程,就得指出100个位置。

image.png

当应用程序的规模大到一定程度,程序里的多线程会以某种形式存在。以下是多线程程序常见形式,有三种:

1、GUI应用程序

几乎所有GUI应用程序都一定有多线程。举例来说,假设现在有人用Word编辑一个较大的文本文件,刚刚才做过单字“查找”的操作。当Word进行查找时,屏幕上会出现“停止查找”的按钮,用户随时均可停止查找。这个功能其实就用到了多线程。

(1)执行查找。

(2)显示按钮,若按下按钮时,则停止查找。

这2个操作分别交给不同的线程进行。这样一来,执行(1)的线程可以专心查找,执行(2)的线程也可专心在 GUI 操作上,程序就会变得比较简单。

2、比较花费时间的I/O处理

一般来说,文件和网络的I/O处理比较花费时间。如果在这段期间中程序无法进行其他处理,程序性能便会大打折扣。遇到这种问题,有时也会使用多线程来解决。先把执行I/O处理和非I/O处理的线程分开,这样就能利用进行 I/0 处理时的时间,同时进行其他处理了。

3、多个客户端

基本上,网络上的服务器必须同时处理1个以上的客户端。不过,要是一定在服务器这边的程序设计加入 1个以上客户端的概念的话,程序反而会变得更复杂。此时,不妨准备一个当有客户端连接到服务器时,会自动出来迎接这个客户端的线程。这样一来,服务器的程序就可以设计成好像只服务一个客户端。

以上介绍了3种多线程程序常见形式,希望大家在对多线程有一定的了解后,可以通过java多线程视频课程来学习更多的多线程的知识,以掌握如何使用多线程,提高自己的java水平。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>