sem_acquire

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_acquireЗахватывает семафор

Описание

sem_acquire(SysvSemaphore $semaphore, bool $non_blocking = false): bool

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

После выполнения запроса, все захваченные, но явно не освобождённые процессом, семафоры освобождаются автоматически и генерируется предупреждение.

Список параметров

semaphore

semaphore - семафор.

non_blocking

Параметр указывает, должен ли процесс ждать для захвата семафора. Если для параметра установили значение true, вызов немедленно вернёт false, если семафор не может быть захвачен.

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр semaphore теперь ожидает экземпляр класса SysvSemaphore; раньше ожидался ресурс (resource).

Смотрите также

  • sem_get() - Получает идентификатор семафора
  • sem_release() - Освобождает семафор