sleep()和wait()的区别 :
- sleep是线程thread类的静态方法,wait是一个实例化对象的线程控制方法;
- sleep是thread线程类操作内的方法,wait是任意对象内的方法,范围不同;
- sleep方法会保留synchronized内的lock锁,wait不会保存synchronized内的锁;
- 对于synchonized内部执行wait在不执行线程期间不会影响其他线程进入相同的synchronized同步块,而sleep则不允许在sleep期间其他线程进入synchronized内。
sleep()和wait()的相同点:
- 可以让线程处于冻结状态(放弃cpu执行权)