wait 和 sleep 的区别

1. 类不同

  • wait()来自于Object类,而sleep来自于Thread类

2. 释放锁规则不同

  • sleep没有释放锁,但是wait释放了锁(使得其他线程可以使用同步控制块或者方法锁)

3. 使用范围不同

  • sleep可以在任何地方使用,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用

4. 异常不同

  • sleep必须捕获异常,但是wait,notify和notifyAll不需要捕获异常

参考地址:

https://www.cnblogs.com/ylxn/p/10395315.html
https://blog.csdn.net/yuxingxing198812/article/details/12998011
https://blog.csdn.net/qq_41701956/article/details/84861232