项目作者: mistaru

项目描述 :
Implementing the "producer-consumer" task using semaphores
高级语言: Java
项目地址: git://github.com/mistaru/semaphore.git
创建时间: 2020-07-08T16:50:14Z
项目社区:https://github.com/mistaru/semaphore

开源协议:

下载


semaphore

Implementing the “producer-consumer” task using semaphores

Процесс (thread) producer получает символы, вводимые с клавиатуры,
и записывает их в кольцевой буфер. Параллельные ему процессы consumer
считывают символы с кольцевого буфера. Причем первый процесс считывает
только символы, являющиеся буквами английского алфавита (прописные и строчные),
второй только символы – цифры, а третий все остальные символы.
Если текущий символ в буфере не является типом символов, с которыми
работает исполняющийся процесс consumer, то этот процесс не изменяет
содержимое буфера. Для организации критических секций при доступе к
общему ресурсу – кольцевому буферу - использовать бинарный семафор,
а также считающие семафоры для подсчета пустых (empty) и заполненных (full).