对于sleep()方法,我们首先应该知道该方法是属于Thread 类的,而wait()方法是属于Object类中的。
sleep()是让当前正在运行的线程暂停指定的时间长度,在调用sleep()方法时,当前线程让出cup执行权给其他线程进入等待状态但依旧是监听状态的保持者,不会释放锁资源,当指定的时间到了又恢复执行状态。
wait()也是让线程暂停的意思,但是和sleep()方法不同的是。当调用wait()方法时线程会释放锁资源进入等此对象锁的等待锁定池中。只有针对次对象调用notify()方法时,再次进入此对象锁定池中准备,获取次对象锁进入运行状态。
总结:
1.sleep()方法不会释放锁资源,wait()释放锁资源。
2.wait()方法和notify()是成对使用的。