首页 > 试题广场 >

关于sleep()方法和wait()方法,正确的是(&nbs

[单选题]
关于sleep()方法和wait()方法,正确的是( )
  • 两个方法的作用是完全一样的。
  • sleep()会释放对象的锁,但wait()方法不会。
  • 两个方法都不会释放对象的锁。
  • wait()方法是Object类的方法。
1. 首先分析选项A: -  sleep() 方法和 wait() 方法作用不同。 sleep() 方法是让当前线程暂停执行一段时间,而 wait() 方法是让当前线程等待,直到其他线程通知它( notify() 或 notifyAll() )。所以A错误。 2. 接着看选项B: -  sleep() 方法不会释放对象的锁,而 wait() 方***释放对象的锁。所以B错误。 3. 再看选项C: - 如上述分析, sleep() 方法不会释放锁, wait() 方***释放锁。所以C错误。 4. 最后看选项D: -  wait() 方法是 Object 类的方法,任何对象都可以调用 wait() 方法来实现等待机制。所以D正确。 答案是D。
发表于 2024-10-30 19:15:11 回复(0)

在调用sleep()方法的过程中,线程不会释放对象锁。

而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备

发表于 2021-07-08 17:46:32 回复(0)