Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
phaser.awaitAdvance(phaser.getPhase()) не имеет смысла по причине своей неатомарности. Кроме того, в примере пассажир может пропустить автобус, даже если пришёл на остановку вовремя.Отличная статья! Спасибо! И примеры очень наглядные.
Справочник по синхронизаторам java.util.concurrent.*