首页 / 办公指南 / java线程是什么意思?java线程有什么作用?
java线程是什么意思?java线程有什么作用?
说起java线程,可能很多朋友都觉得云里雾里,不知道线程是什么东西,简单来说,世界上很多东西都可以同时进行多项工作,比如我们的电脑,在看电影的同时,还能听歌及撰写文档,我们的手机也可以一边打游戏一边听歌,这种可以同时进行多项工作的性能在java中被称作为并发,而并发完成的每一件独立的事情则被称作为线程。下面福昕知翼小编就带各位朋友一起来了解一下java线程是什么意思?java线程有什么作用?
一、java线程是什么意思?
线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。
java中的线程分为两种:守护线程(Daemon)和用户线程(User)。任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(bool on);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.start()之前调用,否则运行时会抛出异常。
二、java线程有什么作用?
1. 充分利用CPU资源
现在世界上大多数计算机只有一块CPU。因此,充分利用CPU资源显得尤为重要。当执行单线程程序时,由于在程序发生阻塞时CPU可能会处于空闲状态。这将造成大量的计算资源的浪费。而在程序中使用多线程可以在某一个线程处于休眠或阻塞时,而CPU又恰好处于空闲状态时来运行其他的线程。这样CPU就很难有空闲的时候。因此,CPU资源就得到了充分地利用。
2. 简化编程模型
如果程序只完成一项任务,那只要写一个单线程的程序,并且按着执行这个任务的步骤编写代码即可。但要完成多项任务,如果还使用单线程的话,那就得在在程序中判断每项任务是否应该执行以及什么时候执行。如显示一个时钟的时、分、秒三个指针。使用单线程就得在循环中逐一判断这三个指针的转动时间和角度。如果使用三个线程分另来处理这三个指针的显示,那么对于每个线程来说就是指行一个单独的任务。这样有助于开发人员对程序的理解和维护。
3. 简化异步事件的处理
当一个服务器应用程序在接收不同的客户端连接时最简单地处理方法就是为每一个客户端连接建立一个线程。然后监听线程仍然负责监听来自客户端的请求。如果这种应用程序采用单线程来处理,当监听线程接收到一个客户端请求后,开始读取客户端发来的数据,在读完数据后,read方法处于阻塞状态,也就是说,这个线程将无法再监听客户端请求了。而要想在单线程中处理多个客户端请求,就必须使用非阻塞的Socket连接和异步I/O。但使用异步I/O方式比使用同步I/O更难以控制,也更容易出错。因此,使用多线程和同步I/O可以更容易地处理类似于多请求的异步事件。
以上就是福昕知翼小编给各位朋友带来的java线程是什么意思?java线程有什么作用?由上文可以知道,java线程的作用非常多,总而言之,线程可以理解为多项工作同时进行时的独立的子任务,也就是说,每一项工作的运行其实都可以理解为“线程”在进行工作!
本文地址: https://www.docer365.com/zn-1980.html
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处.