您的位置首页百科知识

sleep和wait的区别

sleep和wait的区别

的有关信息介绍如下:

sleep和wait的区别

基本差别

sleep是Thread类的方法,wait是Object类中定义的方法

sleep()方法可以在任何地方使用

wait()方法只能在synchronized方法或synchronized块中使用

本质区别

Thread.sleep智慧让出CPU,不会导致锁行为的改变

Object.wait不仅让出CPU,还会释放已经占有的同步资源锁

创建一个JAVA工程

new一个lock对象

new一个线程A

为了保证先进入线程A在进入线程B

我们再睡10毫秒

日志证明wait()释放已经占有的同步资源锁