The question # 10 in the Threads chapter in K&B book is as follows:
Assume following method is properly synchronized and called from
thread A on an object B:
wait(2000);
After calling this method, when will thread A becomes a candidate to get another turn at the CPU?
A. After object B is notified, or after two seconds.
B. After the lock on B released, or after two seconds.
C. Two seconds after object B is notified.
D. Two seconds after lock B is released.
I understand that option 'A' is correct. But i'm unable to understand why the option D is not correct. Doesn't thread A come to Runnable pool 2 seconds after the wait gets executed (i.e 2 seconds after lock B releases)?
I don't understand the difference between the second part in option A i.e. or after two seconds and option D.
Someone please clarify.
