导航号,我的单页导航
文章目录

前言

记录一下sleepwait的区别

正文

  1. wait必须搭配synchronize一起使用,而sleep不需要;

  2. 进入wait状态的线程能够被 notify 和 notifyAll 线程唤醒,而 sleep 状态的线程不能被 notify 方法唤醒;

  3. wait 通常有条件地执行,线程会一直处于 wait 状态,直到某个条件变为真,但是 sleep 仅仅让你的线程进入睡眠状态;

  4. wait 方法会释放对象锁,但 sleep 方法不会。

  5. 在调用wait方法之后,线程会变为WATING状态,而调用sleep方法之后,线程会变为 TIMED_WAITING状态。

参考文章

  1. 如何证明sleep不释放锁,而wait释放锁?

© 版权声明
导航号,我的单页导航

暂无评论

暂无评论...