Here is the question:
Under what circumstances might you use the yield method of the
Thread class
1) To call from the currently running thread to allow another thread of the same or higher priority to run
2) To call on a waiting thread to allow it to run
3) To allow a thread of higher priority to run
4) To call from the currently running thread with a parameter designating which thread should be allowed to run
The answer is 1 only, because, as the answer key wrote, (3) "but there is no guarantee that the thread that grabs the cpu time will be of a higher priority." But perhaps it is just bad wording of the question then. Because doesn't answer (1) entail that a yield() may be called to allow a thread of higher priority to start, even if that won't always happen. What do you guys think?