sleep()
方法:
sleep()
方法是java.lang.Thread
类的静态方法。它使当前线程暂停执行一段指定的时间。
通过调用
sleep()
方法,可以模拟一定的延迟或定时操作。
sleep()
方法会抛出InterruptedException
异常,因此需要进行异常处理。示例代码:
Thread.sleep(1000);
将当前线程睡眠 1 秒。
wait()
方法:
wait()
方法是java.lang.Object
类的实例方法。它使当前线程等待,并释放对象的锁(线程同步)。
当一个线程调用某个对象的
wait()
方法时,它会进入该对象的等待队列,直到其他线程调用相同对象的notify()
或notifyAll()
方法来唤醒等待的线程。
wait()
方法必须在持有对象的锁的情况下被调用。
wait()
方法会抛出InterruptedException
异常,因此需要进行异常处理。示例代码:
synchronized (lock) { try { lock.wait(); // 等待被唤醒 } catch (InterruptedException e) { e.printStackTrace(); } }总结:
sleep()
是线程的静态方法,而wait()
是对象的实例方法。
sleep()
用于线程的暂停和延迟执行,而wait()
用于线程之间的协作和同步。
sleep()
不会释放锁,而wait()
会释放对象的锁。
sleep()
方法的调用不需要被唤醒,而wait()
方法需要被其他线程的通知唤醒。
05-18
5045
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交