Шрифт:
4. Функция
5. У функции
6. Функция semaphore_p изменяет счетчик семафора на -1. Это операция ожидания или приостановки процесса.
7. Функция
Обратите внимание на то, что эта простая программа разрешает существование единственного двоичного семафора для каждой программы, хотя можно было бы увеличить количество, передав переменную семафора при необходимости. Обычно одного бинарного семафора достаточно.
Вы можете протестировать вашу программу, запустив ее несколько раз. В первый раз вы передадите параметр, чтобы сообщить программе о том, что она отвечает за создание и удаление семафора. У других экземпляров выполняющейся программы не будет параметра.
Далее приведен примерный вывод для двух запущенных экземпляров программы:
Напоминаем, что символ
Как это работает
Программа начинается с получения обозначения семафора на основе ключа (произвольного), который вы выбрали, применив функцию
Если у программы есть параметр, она отвечает за инициализацию семафора, которая выполняется функцией