并发与并行
正在运行的程序就是一个独立的进程,线程是属于进程的,多个线程其实是并发与并行同时进行的
并发的理解
1、CPU同时处理线程的数量有限 2、CPU会轮询为系统的每个线程服务,由于CPU切换的速度很快,给我们的感觉这些线程在同时执行,这就是并发
我自己的理解是:CPU就像是一个五菱高手,在短时间内可以打倒很多敌人,但还得一个一个打
并行的理解
在同一个时刻上,同时有多个线程在被CPU处理并执行
我的理解是:CPU就像孙悟空在短时间内可以打倒很多敌人,面对多个妖怪,就拔几根毛变出多个孙悟空一起打妖怪,
简单的说
1、并发:CPU分时轮询的执行线程 2、并行:同一个时刻同时在执行
线程的状态
1、线程的状态:也就是线程从生到死的过程,以及中间经理的各种状态及状态的转换 2、理解线程的状态有利于提升并发编程的理解能力
JAVA线程的状态
Java总共定义了6种状态 6种状态都定义在Thread类的内部枚举类中