Так что семафоры в PHP очень удобны для синхронизации заданий / заданий (точнее, процесса).
Скажем, 1 процесс получает доступ к семафору и начинает делать свое дело (= работа). 3 других процесса стреляют sem_acquire () чтобы получить доступ, в некотором порядке. Все они заблокированы, ожидая освобождения семафора и назначения его каждому.
Вопрос: в каком порядке будут выполняться 3 отдельных процесса? Общая логика гласит, что они будут выполнены в порядке поступления (и будут заблокированы), сначала обслужены (выпуск на работу), но я не видел этого утверждения в официальной документации.
Кто-нибудь может подтвердить или исправить меня?
Спасибо!
PHP sem_acquire()
вызовы функций до semop()
системный вызов, который, по-видимому, не дает никаких гарантий относительно того, в каком процессе ожидания заказа будет получен семафор.
Других решений пока нет …