| Author |
yield or join
|
Asha Pathik
Ranch Hand
Joined: Feb 08, 2006
Posts: 143
|
|
i came across this question in K&B1.4 Threads chapter.... Which three guarantee that a thread will leave the running state? A. yield() B. wait() C. notify() D. notifyAll() E. sleep(1000) F. aLiveThread.join() G. Thread.killThread() answer is B, E, and F. B and E are fine but for F the explanation was based on the assumption that aLiveThread is alive. But then can't we say that option A is also correct if we assume there are some threads of same priority as the current thread in runnable state. Plz help ... Asha
|
SCJP 1.5
|
 |
Greg Charles
Bartender
Joined: Oct 01, 2001
Posts: 2542
|
|
|
Well, I think the key is the word "guarantee". yield is more of a suggestion to the scheduler, and as you pointed out, there might not even be other threads to yield to. That aLiveThread is a live thread is implied by the variable name. That's more of a K&B thing than an exam thing. In a real program, aLiveThread may be in different states at different times, but in a K&B self-test, you can assume it is what it says it is.
|
 |
 |
|
|
subject: yield or join
|
|
|