Java 中 sleep(),wait(),yield(),join()方法的理解
- sleep()
在指定时间内让当前正在执行的线程暂停执行,但是不会释放 锁 ,sleep 是当前进程进入阻塞状态,在指定时间内不会执行。
- wait()
其他线程调用对象的notify方法前,导致当前线程等待。线程会释放掉它占有的 锁,从而使别的线程有机会抢占该锁。
- yield()
暂停当前正在执行的线程对象
- join()
等待该线程终止
在指定时间内让当前正在执行的线程暂停执行,但是不会释放 锁 ,sleep 是当前进程进入阻塞状态,在指定时间内不会执行。
其他线程调用对象的notify方法前,导致当前线程等待。线程会释放掉它占有的 锁,从而使别的线程有机会抢占该锁。
暂停当前正在执行的线程对象
等待该线程终止