(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();
?>