1这两个方法来自不同的类分别是,sleep 来自 Thread 类,和 wait 来自 Object
类。
2最主要是 sleep 方法没有释放锁,而 wait 方法释放了锁,使得其他线程可 以使用同步控制块或者方法。sleep 不出让系统资源;wait 是进入线程等待池 等待,出让系统资源,其他线程可以占用 CPU。一般 wait 不会加时间限制, 因为如果 wait 线程的运行资源不够,再出来也没用,要等待其他线程调用 notify/notifyAll 唤醒等待池中的所有线程,才会进入就绪队列等待 OS 分配系 统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到 只能调用 interrupt()强行打断。



