(PECL sync >= 1.0.0)
SyncSemaphore::__construct — Construit un nouvel objet SyncSemaphore
Construit un sémaphore nommé ou non.
name
Le nom du sémaphore s'il est nommé.
Note:
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.
initialval
La valeur initiale du sémaphore. Ce sera le nombre de verrous qui peuvent être obtenus.
autounlock
Spécifie si l'on doit ou non déverouiller automatiquement le sémaphore à la fin du script PHP.
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éverouillé, alors le sémaphore sous-jacent se terminera dans un statut
non consistent.
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();
?>