java多线程详解,进程和线程的区别是什么?

KLQ 2020-05-12 14:57:54 java常见问答 9238

下面要给大家带来的就是和java线程的相关内容,一起来了解一下java多线程吧!希望下面的内容可以对大家有帮助哦。

一、什么是线程?

首先的话,我们来详细的了解一下线程。

线程是一个程序内部的顺序控制流,简单的来讲的话,也就是说线程是一个程序里不同的执行路径。

二、线程和进程的区别是什么?

再来,我们来了解一下线程和进程的区别。

具体的来说,这两者之间,有以下的几点区别:

(1)多线程:在同一个应用程序当中,有着多个顺序流同时执行

(2)能够通过创建Thread的实例来创建新的线程

(3)VM启动的时候,会有一个由主方法所定义的线程

(4)每一个进程都有着独立的数据空间和代码,进城之间的切换开销会比较的高

(5)每一个线程,都是通过特定的Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体

(6)Java线程是通过Java.lang.Thread类来实现的

(7)多进程:操作系统能可以同时的运行多个任务

(8)通过调用Thread类的start()方法来启动一个线程

(9)一个时间点,单核单CPU只可以有一个线程执行,因为,CPU运行能力强,CPU将自己分成了很多个时间片,一个时间片执行一会这个线程,另一个时间片又执行一会另一个线程

(10)线程可以看作是轻量级的进程,同一类线程共享代码和数据空间,每一个线程有独立的运行栈和程序计数器,线程切换的开销比较的小

注意了,Java代码里面创建线程能够通过继承Thread类,或者是,实现Runnable接口以上2种方法,启动都需要Thread对象的start()方法来执行。

这里的话,建议使用实现runnable接口来创建线程,原因就是因为,继承只能继承一次,实现接口可以多次,会非常的灵活。

三、线程状态转换

java多线程详解

四、线程控制的基本方法

java多线程详解

以上就是对于java多线程的一个基本介绍了,你都了解了吗?

你想成为一名java架构师吗?想了解更多关于java架构师的知识内容,可以继续关注奇Q工具网的java架构师栏目了解哦。

推荐阅读:

java多线程使用场景有哪些?有何作用?

高并发和多线程的区别在哪里?都有什么概念?

线程的通信方式有哪些?线程通信方式实现