PHP 8.4.0 RC4 available for testing

sem_remove

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

sem_removeУдаляет семафор

Описание

sem_remove(SysvSemaphore $semaphore): bool

Функция sem_remove() удаляет семафор.

После удаления семафора он становится недоступным.

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

semaphore

Семафор, который вернула функция sem_get().

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

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

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

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

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

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

Добавить

Примечания пользователей 1 note

up
1
donotcallme at iwillcallyou dot com
11 years ago
sem_remove() shouldn't be part of a normal cleanup/teardown and should be called very rarely due to bugs in the implementation.

It doesn't seem to hurt to leave semaphores lying around and is likely to be more performance-friendly to do so. If you are concerned about having too many semaphores floating around for an application (e.g. a file cache that uses ftok()), you can use some modulus arithmetic and simple addition to create a limited range of values for your semaphores off in the middle of nowhere. For example, ftok() % 101 + 0xBADBEEF. Be sure to replace 0xBADBEEF with your own random value. The example limits the range to 101 semaphores. 101 is a prime number - so if you want more or less, be sure to replace it with a prime number since primes theoretically help distribute values more evenly.
To Top