首页 课程 师资 教程 报名

3种多线程程序常见形式

  • 2020-09-22 17:12:51
  • 1341次 星辉

无论是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水平。


选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交