Похоже, что существует несоответствие между SO-консенсусом и почти каждой диаграммой состояний потоков Java в Интернете; в частности, относительно перехода состояния состояния от WAITING после вызова notify() или notifyAll()...
- WAITING никогда не переходит непосредственно в RUNNABLE
- Поток WAITING, пока он не будет уведомлен... Затем он станет BLOCKED...
- Как только этот поток будет уведомлен, он не будет запущен... Это состояние... заблокированное.
Итак, консенсус по SO: поток переходит из WAITING в BLOCKED после вызова notify() или notifyAll(); диаграмма ниже иллюстрирует этот переход зеленым цветом.
Вопрос
Почему большинство диаграмм состояний в Интернете иллюстрируют переход от WAITING в RUNNABLE, а не BLOCKED? Изображение красного цвета показывает неправильный переход; я что-то упускаю?
