Проблема ограниченного буфера: решение синхронизации производитель-потребитель с использованием семафоров
Решение проблемы производитель-потребитель в Java с ограниченным буфером с использованием синхронизации потоков