唐僧喜欢小龙女

导航

wait 和sleep的区别

/**
*
* wait 和sleep的区别
* 1、来自不同的类 wait是Object,sleep是Thread类
* 2、wait 会释放锁,sleep不会释放锁
* 3、wait 必须放到同步代码块中,sleep 哪里都可以
*
*
*/
synchronized (lock) {
    lock.wait();   // 释放 lock 对象的锁,其他线程可进入 synchronized(lock)
    // ... 被 notify 唤醒后,重新竞争锁
}

synchronized (lock) {
    Thread.sleep(1000); // 不释放 lock 锁!其他线程无法进入 synchronized(lock)
    // ... 1秒后继续执行
}

  

posted on 2021-05-15 16:28  与时具进&不忘初心  阅读(77)  评论(0)    收藏  举报