Home / Java Programming / Threads :: Discussion

Discussion :: Threads

  1. Assume the following method is properly synchronized and called from a thread A on an object B:

    wait(2000);

    After calling this method, when will the thread A become a candidate to get another turn at the CPU?

  2. A.
    After thread A is notified, or after two seconds.
    B.
    After the lock on B is released, or after two seconds.
    C.
    Two seconds after thread A is notified.
    D.
    Two seconds after lock B is released.

    View Answer

    Workspace

    Answer : Option A

    Explanation :

    Option A. Either of the two events (notification or wait time expiration) will make the thread become a candidate for running again.

    Option B is incorrect because a waiting thread will not return to runnable when the lock is released, unless a notification occurs.

    Option C is incorrect because the thread will become a candidate immediately after notification, not two seconds afterwards.

    Option D is also incorrect because a thread will not come out of a waiting pool just because a lock has been released.


Be The First To Comment