Есть какая-то абстрактная структура (для задачи в принципе не важно какая), состоящая из N ячеек. Поставщик заполняет эти ячейки данными по одной за раз... Потребитель "вытаскивает" эти данные из ячеек по одной... Если структура заполнена, поставщик должен ждать, и, соответственно, если структура пуста, то ждать должен потребитель... Этот алгоритм легко реализуется с двумя семафорами...
Вопрос: можно ли это реализовать используя ОДИН семафор.