线程题—java线程中sleep()和wait()的区别?
闲言少叙,有些题不理解的也要先背下来,总有一天会明白的。
sleep():
- sleep()是线程类Thread的方法;
- 作用是导致此线程暂停执行指定时间,把执行机会给其他线程, 但是监控状态依然保持,到时会自动恢复;
- 调用sleep()不会释放对象锁
wait():
- wait是object类的方法;
- 对此对象调用wait方法导致本线程放弃对象锁,进入等待次对象的等待锁定池。只有针对此对象发出notify方法(或者notifyAll)后本线程才进入对象锁定池,准备获得对象锁进行运行状态。