sleep和wait的区别
-
使用对象不同:sleep是Thread类的静态方法,wait是Object类的方法,只能在同步块或同步方法中使用。
-
作用不同:sleep会让当前线程暂停执行一段时间,不会释放锁;wait会让当前线程等待,释放锁,直到被唤醒或超时。
-
调用方式不同:sleep可以直接调用,wait必须在同步块或同步方法中使用并且需要先获得对象的锁。
-
唤醒方式不同:sleep会在指定时间后自动唤醒,wait需要通过notify()或notifyAll()方法唤醒。
-
异常处理不同:sleep方法不需要捕获InterruptedException异常,wait方法必须捕获InterruptedException异常。
总之,sleep和wait的作用和使用方式有很大的区别,需要根据具体的情况选择使用。
原文地址: https://www.cveoy.top/t/topic/gg6R 著作权归作者所有。请勿转载和采集!