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秒后继续执行
}
浙公网安备 33010602011771号