首页 > 代码库 > Java学习之多线程(sleep()和wait()的相同与不同点) <好程序员特训营>

Java学习之多线程(sleep()和wait()的相同与不同点) <好程序员特训营>

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流!

 

sleep()和wait()的相同点:

(1) 都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回

(2) 都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException。

 

sleep()和wait()的区别:

(1) sleep()方法,是属于Thread类中的。而wait()方法,则是属于Object类中的。

(2) 调用sleep()方法的过程中,线程不会释放对象锁。而调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,因此不会影响其他线程对数据的使用

(3) wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用

 

Java学习之多线程(sleep()和wait()的相同与不同点) <好程序员特训营>