sleep() 和 wait() 有什么区别?

sleep()Thread类的静态方法,它的作用是让当前线程从运行状态转入、阻塞状态,线程执行暂停下来,当一个线程通过sleep()方法暂停之后,该线程并不会释放它对同步监视器的加锁。

wait()Object对象的方法,但实际上只有同步监视器才能调用该方法。当程序在同步代码块、或同步方法内通过同步监视器调用该方法时,将会导致当前线程释放对该同步监视器的加锁,而该线程则会进入该同步监视器的等待池中,直到该同步监视器调用notify()notifyAll()来通知该线程。

Java Program!
原文地址:https://www.cnblogs.com/programb/p/14068579.html