该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点

sleep() 和 wait() 有什么区别

sleep()方法和wait()方法都可以用于线程的控制。

  1. sleep()方法属于Thread类,而wait()方法属于Object类。

  2. sleep()方法是在当前线程内部调用,让当前线程暂停执行一段时间,不会释放锁。而wait()方法是在Object实例上调用,会让当前线程进入等待状态,并释放对象的锁。

  3. sleep()方法可以指定时间段,让线程休眠指定的时间。而wait()方法需要在唤醒之前等待其他线程调用notify()或notifyAll()方法来唤醒。

下面通过一个示例,展示sleep()和wait()方法的区别:

public class SleepVsWaitExample {
   
    public static void main(
03-22 02:41