温馨提示×

thread.sleep与wait有什么区别

小樊
160
2024-06-27 19:50:29
栏目: 编程语言

  1. 等待时间单位不同:Thread.sleepThread类的静态方法,参数是以毫秒为单位的等待时间;waitObject类的实例方法,参数是以毫秒为单位的等待时间。

  2. 使用对象:Thread.sleep用于使当前线程暂停执行一段时间,不释放对象锁;wait用于使当前线程等待直到其他线程调用notify()notifyAll()方法唤醒它,同时释放对象锁。

  3. 锁的释放:Thread.sleep不需要持有对象锁;wait方法需要在同步代码块或同步方法中调用,调用后会释放对象锁。

  4. 异常抛出:Thread.sleep方法不会抛出异常;wait方法会抛出InterruptedException异常。

1