前言

记录一下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释放锁?

相关文章

暂无评论

none
暂无评论...