并发与并行 和 线程的状态(理论)

74 阅读1分钟

并发与并行

正在运行的程序就是一个独立的进程,线程是属于进程的,多个线程其实是并发与并行同时进行的

并发的理解

1、CPU同时处理线程的数量有限 2、CPU会轮询为系统的每个线程服务,由于CPU切换的速度很快,给我们的感觉这些线程在同时执行,这就是并发

我自己的理解是:CPU就像是一个五菱高手,在短时间内可以打倒很多敌人,但还得一个一个打

并行的理解

在同一个时刻上,同时有多个线程在被CPU处理并执行

我的理解是:CPU就像孙悟空在短时间内可以打倒很多敌人,面对多个妖怪,就拔几根毛变出多个孙悟空一起打妖怪,

简单的说

1、并发:CPU分时轮询的执行线程 2、并行:同一个时刻同时在执行

线程的状态

1、线程的状态:也就是线程从生到死的过程,以及中间经理的各种状态及状态的转换 2、理解线程的状态有利于提升并发编程的理解能力

JAVA线程的状态

Java总共定义了6种状态 6种状态都定义在Thread类的内部枚举类中

image.png

线程的6种状态互相转换

image.png

image.png