Partager via


CSingleLock::Lock

Appelez cette fonction pour accéder à la ressource contrôlée par l'objet de synchronisation fournies au constructeur d' CSingleLock .

BOOL Lock( 
   DWORD dwTimeOut = INFINITE  
);

Paramètres

  • dwTimeOut
    Spécifie la durée d'attente de l'objet de synchronisation pour être disponible (signalé). Si infini, Lock attend que l'objet soit signalé avant de retourner.

Valeur de retour

Une valeur différente de zéro si la fonction a abouti ; sinon 0.

Notes

Si l'objet de synchronisation est signalé, Lock retourne avec succès et le thread possède maintenant l'objet. Si l'objet de synchronisation n'est pas signalé (non disponible), Lock attend l'objet de synchronisation soit signalé jusqu ' à le nombre de millisecondes spécifié dans le paramètre de dwTimeOut . Si l'objet de synchronisation ne devenait pas signalé dans la durée spécifiée, Lock retourne l'échec.

Exemple

// m_Mutex is a data member (of type CMutex)
// of an existing class that implements the resource being shared.

// Relate the synchronization object (m_Mutex) with
// our CSingleLock object. 
CSingleLock singleLock(&m_Mutex);

// Attempt to lock the shared resource
if (singleLock.Lock(100))    // Wait 100 ms...
{
    // We were able to lock the resource;
    // we may now work with the data associated with the mutex...

    // Now that we are finished, unlock the resource for others.
    singleLock.Unlock();
}

Configuration requise

Header: afxmt.h

Voir aussi

Référence

CSingleLock, classe

Graphique de la hiérarchie