Java知识日常巩固(五)

  • Java中wait()和 sleep()的区别?

在Java中,wait()sleep()方法用于线程控制,但它们之间存在几个关键区别:

1. 用途

  • wait():用于线程间的协作。当一个线程需要等待某个条件满足时,它会调用wait()方法释放锁并进入等待状态,直到其他线程调用相同对象的notify()notifyAll()方法。

  • sleep():用于让当前线程暂停执行指定的时间,让出CPU给其他线程,但不会释放锁

2. 释放锁

  • wait():在调用wait()方法时,线程会释放它所持有的对象锁(即它调用wait()方法的对象的锁),进入等待状态直到其他线程调用相同对象的notify()notifyAll()方法。

  • sleep():调用sleep()方法时,线程不会释放任何锁。

3. 响应中断

    你可能感兴趣的:(面向对象与Java程序设计,java,开发语言)