(PECL sync >= 1.0.0)
SyncSemaphore::__construct — Constrói um novo objeto SyncSemaphore
Constrói um semáforo nomeado ou não nomeado.
name
O nome do semáforo, se este for um objeto de semáforo nomeado.
Nota:
Se o nome já existir, ele deve poder ser aberto pelo usuário atual com o qual o processo está sendo executado, ou uma exceção será lançada com uma mensagem de erro sem sentido.
initialval
O valor inicial do semáforo. Este é o número de bloqueios que podem ser obtidos.
autounlock
Especifica se o semáforo deve ou não ser desbloqueado automaticamente na conclusão do script PHP.
Se um objeto for um semáforo nomeado com um desbloqueio automático igual a false
, o objeto estiver
bloqueado e o script PHP for concluído antes que o objeto seja desbloqueado, então o
semáforo subjacente terminará em um estado inconsistente.
O novo objeto SyncSemaphore.
Uma exceção será lançada se o semáforo não puder ser criado ou aberto.
Exemplo #1 Exemplo de SyncSemaphore::__construct()
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Não é possível bloquear o semáforo.";
exit();
}
/* ... */
$semaphore->unlock();
?>