(PECL sync >= 1.0.0)
SyncSemaphore::lock — Уменьшает счёт семафора или ждёт
Уменьшает счётчик объекта SyncSemaphore или ждёт, пока семафор не станет отличным от нуля.
wait
Количество миллисекунд ожидания семафора. Значение -1 бесконечно.
Возвращает true
в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования SyncSemaphore::lock()
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Невозможно заблокировать семафор.";
exit();
}
/* ... */
$semaphore->unlock();
?>