码迷,mamicode.com
首页 > 其他好文 > 详细

sleep与wait的区别

时间:2020-02-16 13:24:37      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:的区别   调用   位置   实例   其他   释放   bsp   区别   his   


    1 使用对象区别
        sleep的调用者是Thread,wait的调用者是所有实例对象
2 使用位置的区别 sleep在任何位置都能使用,而wait/notify/notifyAll需要在"synchronized"同步代码块中使用(wait需要一个监视器monitor)
3 是否释放资源
    wait方法释放锁(如果线程拥有某个或某些对象的同步锁,那么在调用了wait()后,这个线程就会释放它持有的所有同步资源,而不限于这个被调用了wait()方法的对象)
    sleep方法不释放锁(sleep可以在没有锁的地方使用,佐证了sleep不会释放锁)



synchronized存在位置与monitor
  静态方法:Class
  静态代码块:Class(也可以是定义的其他Class)
  非静态方法:this
  非静态代码块:this或者其他对象的实例
 

sleep与wait的区别

标签:的区别   调用   位置   实例   其他   释放   bsp   区别   his   

原文地址:https://www.cnblogs.com/draymond/p/12316135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!