Udostępnij za pośrednictwem


CSingleLock::Lock

Wywołanie tej funkcji do uzyskania dostępu do zasobów kontrolowanych przez obiekt synchronizacji do CSingleLock konstruktora.

BOOL Lock( 
   DWORD dwTimeOut = INFINITE  
);

Parametry

  • dwTimeOut
    Określa czas oczekiwania na obiekt synchronizacji mają być dostępne (zasygnalizowany).Jeśli INFINITE, Lock będzie czekał przed zwróceniem sygnalizowane jest obiekt.

Wartość zwracana

Niezerowa, jeśli funkcja zakończyła się pomyślnie; 0 inaczej.

Uwagi

Jeśli obiekt synchronizacji jest sygnalizowane, Lock zwróci pomyślnie i wątek jest właścicielem obiektu.Jeśli obiekt synchronizacji jest zasygnalizowane (niedostępny), Lock będzie czekać na obiekt synchronizacji zasygnalizowanie do liczby milisekund określoną w dwTimeOut parametru.Jeśli obiekt synchronizacji nie zasygnalizowane w określonym czasie, Lock zwraca błąd.

Przykład

// 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();
}

Wymagania

Nagłówek: afxmt.h

Zobacz też

Informacje

Klasa CSingleLock

Diagram hierarchii