There seems to be a mismatch between SO consensus and almost every Java state flow diagram on the Internet; in particular, regarding state transition from WAITING after calling notify() or notifyAll() ...
- WAITING never goes directly to RUNNABLE
- Stream WAITING until it is notified ... Then it becomes BLOCKED ...
- As soon as this thread is notified, it will not start ... This state ... is blocked.
So, the consensus on SO: the thread goes from WAITING to BLOCKED after calling notify() or notifyAll() ; The diagram below illustrates this transition in green.
Question
Why do most state diagrams on the Internet illustrate the transition from WAITING to RUNNABLE rather than BLOCKED ? A red image indicates an incorrect transition; Am I missing something?

java multithreading java-threads thread-state
raffian Feb 07 '15 at 4:36 2015-02-07 04:36
source share