Multiple choice technology programming languages

A monitor called nik has 3 threads, having same priority, in its waiting pool; How can we notify one of the threads, named 'thread1' to move from Waiting state to Ready

  1. Execute notify(thread1); from within synchronized code of mon.

  2. Execute mon.notify(thread1); from synchronized code of any object.

  3. Execute thread1.notify(); from synchronized code of any object.

  4. Execute thread1.notify(); from any code(synchronized or not) of any object.

  5. You cannot specify which thread will get notified.

Reveal answer Fill a bubble to check yourself
E Correct answer
Explanation

When multiple threads are waiting on a monitor with the same priority, Java's notify() method wakes up one thread but does not specify which one. The thread scheduler determines which thread actually gets notified.