semaphore — PHP sem_acquire () — в каком порядке выполняются «ожидающие» процессы

Так что семафоры в PHP очень удобны для синхронизации заданий / заданий (точнее, процесса).

Скажем, 1 процесс получает доступ к семафору и начинает делать свое дело (= работа). 3 других процесса стреляют sem_acquire () чтобы получить доступ, в некотором порядке. Все они заблокированы, ожидая освобождения семафора и назначения его каждому.

Вопрос: в каком порядке будут выполняться 3 отдельных процесса? Общая логика гласит, что они будут выполнены в порядке поступления (и будут заблокированы), сначала обслужены (выпуск на работу), но я не видел этого утверждения в официальной документации.

Кто-нибудь может подтвердить или исправить меня?
Спасибо!

0

Решение

PHP sem_acquire() вызовы функций до semop() системный вызов, который, по-видимому, не дает никаких гарантий относительно того, в каком процессе ожидания заказа будет получен семафор.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]