线程的生命周期
2019-10-26 13:42:35 0 举报
线程生命周期
作者其他创作
大纲/内容
运行状态(Running)
synchronized - t1/t2 t1获取了锁,t2就是阻塞状态
结束(Terminated)java.lang.Thread.State#TERMINATED
Thread
等待(Waiting)java.lang.Thread.State#WAITING
可运行状态(Runnable)java.lang.Thread.State#RUNNABLE
t2获取锁后变为Running状态
t.start()
notify/notifyall()/LockSupport.unpark()
阻塞状态(Blocked)java.lang.Thread.State#BLOCKED
Thread.sleep(long)/Object.wait(long) with timeout/Thread.join(long) with timeout/LockSupport.parkUntil()
初始状态(NEW)java.lang.Thread.State#NEW
run()方法结束
Thread t = new Thread()
Object.wait() with no timeout/Thread.join() with no timeout/LockSupport.park()
OS调度选中,获取CPU时间片
时间片用完/调用t.yield()
这个唤醒操作不太理解需要深入学习
超时等待(Timed Waiting)java.lang.Thread.State#TIMED_WAITING
收藏
0 条评论
下一页