(PECL sync >= 1.0.0)
SyncSemaphore::__construct — Construye un nuevo objeto SyncSemaphore
Construye un semáforo con nombre o sin nombre.
name
El nombre del semáforo si tiene nombre.
Nota:
Si el nombre ya existe, el objeto debe poder ser abierto por el usuario actual que ejecuta el proceso, o se emitirá una excepción con el mensaje de error.
initialval
El valor inicial del semáforo. Este será el número de bloqueos que pueden ser obtenidos.
autounlock
Especifica si se debe desbloquear automáticamente el semáforo al final del script PHP.
Si el objeto es un semáforo con nombre cuyo autounlock es false
, el objeto está bloqueado, y el script PHP termina antes de que el objeto sea desbloqueado, entonces el semáforo subyacente terminará en un estado no consistente.
El nuevo objeto SyncSemaphore.
Se emitirá una excepción si el semáforo no puede ser creado o abierto.
Ejemplo #1 Ejemplo con SyncSemaphore::__construct()
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Imposible bloquear el semáforo.";
exit();
}
/* ... */
$semaphore->unlock();
?>