sleep、wait、yield、join
线程的休眠与恢复
sleep
线程进入堵塞状态,释放CPU资源,不释放锁资源,
当sleep时间当会重新进入就绪状态,等待CPU调度
wait
线程进入等待状态,释放CPU资源和锁资源,
需要等待notify和notifyAll方法进行唤醒,
唤醒后进入就绪状态,等待CPU调度
yield
线程直接进入就绪状态,释放CPU,不释放锁,同时CPU可能还会直接调度到他,也就是说立刻又执行了
join
线程进入堵塞状态,释放CPU,不释放锁,当线程执行完毕,进入就绪状态
线程状态切换场景图

本文如有任何问题,请留言指教,以免误导他人