SO コンセンサスと、インターネット上のほぼすべての Java スレッド状態図との間には矛盾があるようです。具体的には、起動後または起動後 のスレッド状態遷移について...WAITING
notify()
notifyAll()
- WAITINGが直接 RUNNABLE に移行することはありません
- スレッドは通知されるまで待機しています...その後、ブロックされます...
- このスレッドが通知されると、実行できなくなります...これは..ブロックされた状態です。
したがって、SO に関するコンセンサスは次WAITING
のBLOCKED
とおりnotify()
ですnotifyAll()
。下の図は、この遷移を緑色で示しています。
質問
Web 上のほとんどの状態図が からWAITING
への遷移を示しておりRUNNABLE
、 ではないのはBLOCKED
なぜですか? 赤色の描写は、正しくない遷移を示しています。私は何かを逃していますか?