Package semaphor

Classe Semaphore

Classes de ce package :

Packages - Hiérarchie - Index - Constantes et fonctions

Ascendants


Object
  |
  +--- Semaphore

Description


Gère des sémaphores afin de pouvoir coordonner l'utilisation de ressources à accès exclusif.

Un sémaphore est généralement utilisé de la manière suivante :

  • création et initialisation du sémaphore
    La valeur passée au sémaphore correspond au nombre d'accès simultanés maximum que la ressource peut supporter.
  • requete d'accès à la ressource
    Cette requete formulée auprès du sémaphore peut etre bloquante ou non.
  • libération du sémaphore
    Elle est effectuée lors de la fermeture de la ressource.


    Aperçu des attributs



    Aperçu des méthodes


    delete Appelée lors de la destruction de l'instance.
    getValue Obtient le nombre maximum d'accès simultanés à la ressource restant.
    lock Prend possession d'un accès à la ressource.
    new Crée un nouveau sémaphore ayant un nombre maximum d'accès simultanés à la ressource spécifié.
    tryLock Prend possession d'un accès à la ressource.
    unlock Libère un accès à la ressource associée à ce sémaphore précédemment réservé.


    Référence des attributs



    Référence des méthodes


    delete

    void delete();

    Appelée lors de la destruction de l'instance.

    getValue

    int getValue();

    Obtient le nombre maximum d'accès simultanés à la ressource restant.

    Valeur de retour
    le nombre maximum d'accès simultanés restant, ou 0 si plus la ressource n'est plus disponible.

    lock

    void lock();

    Prend possession d'un accès à la ressource. Si celle-ci n'est pas disponible, cette méthode attend indéfiniment la libération d'un accès, ce qui peut provoquer un blocage.

    new

    void new(int initValue);

    Crée un nouveau sémaphore ayant un nombre maximum d'accès simultanés à la ressource spécifié.

    Paramètres
    initValue - nombre maximum d'accès simultanés à la ressource

    tryLock

    bool tryLock();

    Prend possession d'un accès à la ressource. Si celle-ci n'est pas disponible, cette méthode rend la main à la fonction appelante.

    Valeur de retour
    true si la ressource a pu etre prise, false sinon

    unlock

    void unlock();

    Libère un accès à la ressource associée à ce sémaphore précédemment réservé.

    Voir aussi
    lock, tryLock


    © Virtualys / E.N.I.B. / LI2 - Tous droits réservés
    Dernières modifications :