sleep、yield、join
sleep:
- sleep会让当前线程从Running状态转向TimedWaiting状态
- 其他线程可以使用线程的interrupt方法打断正在睡眠的线程,这时sleep方法会抛出InterruptedException,这个时候被打断的线程马上被唤醒
- 睡眠结束的线程不一定马上执行
- 使用TimeUnit的sleep方法有更好的可读性
yiled: - 调用yiled方法会使当前线程由运行状态转变为就绪状态
join: - 等待调用join方法的线程结束才继续执行当前线程