Подтвердить что ты не робот

Запросить семафор PHP без блокировки?

Можно ли запросить семафор, созданный с помощью sem_get, без фактической блокировки, как функция sem_acquire?

Cheers, Дан.

4b9b3361

Ответ 1

К сожалению, PHP в настоящее время не поддерживает неблокирующие семафоры.

Если что-то подобное необходимо, вы можете использовать семафоры вместе с разделяемой памятью, чтобы создать свои собственные механизмы блокировки блокировки.

Используйте переменную разделяемой памяти, чтобы указать, существует ли блокировка, а затем использовать семафор вокруг операций против этой переменной.

Ответ 2

Начиная с PHP 5.6.1, он поддерживает параметр $nowait для sem_acquire:

bool sem_acquire ( resource $sem_identifier [, bool $nowait = false ] )