Существует парковка , которая вмещает одновременно не более 5 автомобилей. Если парковка заполнена полностью , то вновь прибывший автомобиль должен подождать пока не освободится хотя бы одно место. После этого он сможет припарковаться.
Semaphore примерАвтомобильная гонка. Для начала гонки к старту должны приехать пять автомобилей.
CountDownLatch примерсуществует паромная переправа. Паром может одновременно переправлять по три автомобиля за раз. Чтобы не гонять лишний раз паром , ждем когда соберется минимум три автомобиля.
cyclicBarrier примерДва курьера должны встретьтся в назначеном пункте метро , обменяться посылками и отправиться к клиентам.
Exchanger примерЕдет автобуст от начала пути до конечной остановки (потом уезжает на стоянку) . Нужно попути забирать и высаживать пассажиров.
Phaser пример