BLOCKED(阻塞状态)
NEW(初始化状态)
TERMINATED(终止状态)
WAITING(无时限等待)
TIMED_WAITING(有时限等
待)
READY(就绪)
Running(运行状态)
等待获取synchronized
获取到synchronized
RUNNABLE(可运行 / 运行状态)
1. Object.wait()
2. Thread.join()
3. LockSupport.park()
1. Object.notify
2. Object.notifyAll
3. join线程执行完毕
4. LockSupport.unpark()
Thread.start()
1. Thread.sleep(long millis)
2. Object.wait(long timeout)
3. Thread.join(long millis)
4. LockSupport.parkNanos(Object blocker, long deadline)
5. LockSupport.parkUntil(long deadline)
1. Object.notify
2. Object.notifyAll
3. join线程执行完毕
4. LockSupport.unpark()5
. 超时时间到
执行完run方法
yield()
系统调度
Java线程状态流转图
评论0