Thread wait notify sleep

wait: 必须暂定当前正在执行的线程,并释放资源锁,让其他线程可以有机会运行

 

notify/notifyall: 唤醒因锁池中的线程,使之运行

 

waitsleep区别

 

对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。

 

sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。

 

在调用sleep()方法的过程中,线程不会释放对象锁。

 

而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备

 

获取对象锁进入运行状态。

 

posted @ 2019-06-19 15:23  Chris,Cai  阅读(142)  评论(0编辑  收藏  举报