sleep()方法和wait()方法区别
共同点:
都是使线程暂停一段时间的方法。
不同点:
①原理不同-sleep()是属于Thread类中的,而wait()方法,则是属于Object类中的。
②锁处理机制不同-sleep()最主要作用使线程暂停执行一段时间,时间一到自动恢复,不涉及线程通讯,因此,调用sleep()方法并不会释放锁。而当调用wait()方法的时候,线程会释放它所占的锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备获取对象锁进入运行状态。
③使用区域不同-wait()方法必须放在同步代码块或者同步方法中使用,sleep()可以用在任何地方