array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.sem-get.php', 1 => 'sem_get', ), 'up' => array ( 0 => 'ref.sem.php', 1 => 'Fonctions Sémaphore', ), 'prev' => array ( 0 => 'function.sem-acquire.php', 1 => 'sem_acquire', ), 'next' => array ( 0 => 'function.sem-release.php', 1 => 'sem_release', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/sem/functions/sem-get.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
sem_get — Retourne un identifiant de sémaphore
$key
,$max_acquire
= 1,$permissions
= 0666,$auto_release
= true
sem_get() retourne un identifiant qui pourra être utilisé pour accéder à un sémaphore System V.
Un deuxième appel à sem_get() avec la même clé retournera un identifiant différent, mais les deux identifiants permettront d'accéder au même sémaphore.
Si key
est 0
, un nouvel sémaphore
privé est crée pour chaque appel à sem_get().
key
max_acquire
Le nombre de processus qui peuvent réserver simultanément le sémaphore
est précisé dans le paramètre max_acquire
.
permissions
Les permissions du sémaphore. Actuellement, cette valeur n'est affectée que si le processus est le seul processus actuellement attaché au sémaphore.
auto_release
Le paramètre optionnel auto_release
spécifie
si le sémaphore doit être automatiquement libéré à la fermeture.
Retourne une ressource de sémaphore en cas de succès, et false
en cas d'erreur.
Version | Description |
---|---|
8.0.0 | En cas de succès, cette fonction retourne une instance de SysvSemaphore désormais; auparavant; une resource était retourné. |
8.0.0 |
Le type de auto_release a été modifié de
int à bool.
|
Lorsque vous utilisez la fonction sem_get() pour accéder à
un sémaphore créé en dehors de PHP, veuillez noter que le sémaphore doit avoir
été créé comme un jeu de 3 sémaphores (par exemple, en spécifiant 3 comme
paramètre nsems
lors de l'appel à la fonction C
semget()
), sinon, PHP ne sera pas capable d'accéder à ce
sémaphore.