(1)这两个方法来自不同的类,sleep()来自Thread类,和wait()来自Object类。 (2)sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。而wait()是Object类的非静态方法 (3)sleep()释放资源不释放锁,而wait()释放资源释放锁; (4)使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用
|