1.wait
wait是Object方法,释放锁,等线程代码执行完后释放锁的。
wait必须在同步代码块中,用notify唤醒
2.sleep
sleep是Thread方法,sleep释放cpu,sleep(n)在n毫秒内不竞争cpu
不释放锁。
线程进入阻塞状态
3.yield
不释放锁,释放cpu,线程重回就绪状态,有可能再次执行
4.join
调用join的线程执行结束后,当前线程继续执行。
当前线程里调用其它线程1的join方法,当前线程阻塞,但不释放对象锁,直到线程1执行完毕或者millis时间到,当前线程进入可运行状态。