【Java并发编程 基础】4.线程状态

简介

线程分为了六种状态,如下:

初始状态(NEW):线程被构建,但是还没有调用start状态

运行状态(RUNNABLE):就绪和运行笼统称为运行中

等待状态分三种

阻塞状态(BLOCKED):等待调用synchronized
等待状态(WAITING):调用了wait方法
超时等待(TIME_WAITING):不同于等待,是到达一定的时间自动进入运行状态(Thread.sleep)

终止状态(TERMINATED): 表示当前线程执行完毕

线程阻塞状态

1.1、join(合并线程,等待该线程终止)
在没调用join之前,线程跑的是不规律的

1.2、yield 暂停当前正在执行的线程对象,并执行其他线程 static

1.3、sleep 休眠,休眠的时候不释放锁(比较常用)
使用场景
1.休眠线程
2.倒计时
3.模拟延迟(比如每10秒钟打印一次)


线程结束状态

1.自然终止:线程体运行完毕
2.外部干涉:
1)、线程体定义标识
2)、线程体使用该标识
3)、提供对外的方法改变该标识

一图胜千言

【Java并发编程 基础】4.线程状态_第1张图片

你可能感兴趣的:(Java并发编程,java,开发语言)