5.关于sleep0和wait0,以下描述错误的一项是 ()( Asleep是线程类(Thread)的方法,wait是bject 类的方法 B.Sleep不释放对象锁,wait 放弃对象锁 C.Sleep 暂停线程、但监控状态任然保持,结束后会自动恢复 D. Wait后进入等待锁定池,只针对此对象发出 notify 方法后获取对象锁进入运行状态
时间: 2024-04-23 15:23:39 浏览: 116
C#中sleep和wait的区别分析
描述错误的选项是 A. sleep 是线程类 (Thread) 的方法,wait 是 Object 类的方法。
实际上,sleep 和 wait 都是 Thread 类的方法,而不是 Object 类的方法。因为线程休眠和线程等待都是与线程相关的操作,只有线程才能够进行这些操作。
其他选项描述都是正确的:
- B. sleep 不释放对象锁,wait 放弃对象锁。因为 sleep 方法只是暂停当前线程,不会释放对象锁,而 wait 方法则会释放对象锁,让其他线程可以获得对象锁并执行。
- C. sleep 暂停线程、但监控状态仍然保持,结束后会自动恢复。因为 sleep 方法只是暂停线程的执行,但线程的状态(如运行状态、阻塞状态等)仍然保持,结束后线程会自动恢复执行。
- D. wait 后进入等待锁定池,只针对此对象发出 notify 方法后获取对象锁进入运行状态。因为 wait 方法会让线程进入等待锁定池,只有当其他线程调用相同对象的 notify 或 notifyAll 方法,才能够唤醒等待中的线程并获取对象锁进入运行状态。
阅读全文