title | date | tags |
---|---|---|
wait() 和 sleep() 的区别 |
2018-08-27 10:23:29 -0700 |
1、wait() 是 Object 的方法,而 sleep() 是 Thread 的静态方法;
2、sleep() 方法可以在任何地方使用;wait() 方法则只能在同步方法或同步块中使用;
3、sleep() 是线程线程类 (Thread) 的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;wait() 是Object的方法,调用会放弃对象锁,进入等待队列,待调用 notify()/notifyAll() 唤醒指定的线程或者所有线程,才会进入锁池,不再次获得对象锁才会进入运行状态;