sleep和wait的区别
总共有4点区别:
1、这两个方法来自不同的类sleep来自Thread类,wait来自Object类。
sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码 中 调用sleep。
2、sleep方法不释放锁,也就是系统资源;wait方法释放了锁,使得其他线程可以同步控制块或者方法。
3、wait,notify/notifyAll是成对出现的,他们只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。
4、sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常。 |