wait和sleep的区别

wait和sleep的区别

[toc]

参考:sleep() 和 wait() 的区别

总结:

sleep() 和 wait() 的区别就是 调用sleep方法的线程不会释放对象锁,而调用wait() 方法会释放对象锁

sleep()

sleep() 方法是线程类(Thread)的静态方法;
因为sleep() 是static静态的方法,他不能改变对象的机锁,当一个synchronized块中调用了sleep() 方法,线程虽然进入休眠,但是对象的机锁没有被释放,其他线程依然无法访问这个对象。

wait()

wait()是Object类的方法,当一个线程执行到wait方法时,它就进入到一个和该对象相关的等待池,同时释放对象的机锁,使得其他线程能够访问,可以通过notify,notifyAll方法来唤醒等待的线程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 林炳文Evankaka原创作品。转载自http://blog.csdn.net/evankaka 本文主要讲了ja...
    ccq_inori阅读 670评论 0 4
  • 相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对...
    东经315度阅读 1,992评论 0 8
  • 转自 http://blog.csdn.net/ChatHello/article/details/6906097...
    吕品㗊阅读 5,404评论 0 100
  • 我的心头有点渴,想是求点什么,又吐不出些明细来。所以,我出了门,漫无目的在马路上踱步。 天空灰蒙蒙的,像是张罗...
    名称是个代号阅读 274评论 0 1
  • 参加泓默老师的创业课,我并没有想一定要创业,更多的是为了学习各种我所欠缺的能力、希望在老师的带领下少走弯...
    云云习习阅读 212评论 0 1