(PECL sync >= 1.0.0)
SyncSemaphore::__construct â Construit un nouvel objet SyncSemaphore
$name = ?, int $initialval = 1, bool $autounlock = true)Construit un sémaphore nommé ou non.
nameNote: Si le nom existe dĂ©jĂ , l'objet doit pouvoir ĂȘtre ouvert par l'utilisateur courant qui exĂ©cute le processus, ou une exception sera Ă©mise contenant le message d'erreur.
initialvalautounlock
Si l'objet est un sémaphore nommé dont l'autounlock vaut false, l'objet
est verrouillé, et le script PHP se termine avant que l'objet ne soit
déverrouillé, alors le sémaphore sous-jacent se terminera dans un statut
incohérent.
Le nouvel objet SyncSemaphore.
Une exception sera Ă©mise si le sĂ©maphore ne peut ĂȘtre créé ou ouvert.
Exemple #1 Exemple avec SyncSemaphore::__construct()
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Impossible de verrouiller le sémaphore.";
exit();
}
/* ... */
$semaphore->unlock();
?>