sleep 与 wait 的区别 — 程序设计选择题
题目
线程 T 进入某对象的 synchronized 块后,先调用 obj.wait() 进入等待,随后被其他线程 notify() 唤醒并在同一 synchronized 块内继续执行,接着又调用 Thread.sleep(5000)。关于这两个阶段中 T 所持有锁的状态,下列说法正确的是:
A. 调用 wait() 和 sleep() 期间 T 均持有该对象锁
B. 调用 wait() 期间释放该对象锁,调用 sleep() 期间仍持有该对象锁
C. 调用 wait() 期间持有该对象锁,调用 sleep() 期间释放该对象锁
D. 两次调用期间 T 均释放了该对象锁