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

0

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

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

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

Может ли кто-нибудь подтвердить или исправить меня? Благодарю!

Теги:
semaphore
sysv-ipc

1 ответ

0

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню