CSingleLock::Lock
Rufen Sie diese Funktion auf, um die Ressource zu erhalten, die durch das Synchronisierungsobjekt gesteuert wird, das dem CSingleLock-Konstruktor angegeben wird.
BOOL Lock(
DWORD dwTimeOut = INFINITE
);
Parameter
- dwTimeOut
Gibt die Zeitdauer an, die auf das Synchronisierungsobjekt zu warten, bis zur Verfügung steht (signalisiert). Wenn INFINITE, Lock wartet, bis das Objekt signalisiert wird, bevor zurückgibt.
Rückgabewert
Ungleich 0 (null), wenn die Funktion erfolgreich war; 0 andernfalls.
Hinweise
Wenn das Synchronisierungsobjekt signalisiert wird, gibt Lock erfolgreich zurück und der Thread besitzt jetzt das Objekt. Wenn das Synchronisierungsobjekt (nicht verfügbar) nicht signalisiert ist, wartet Lock auf das Synchronisierungsobjekt, um signalisiert bis zur Anzahl von Millisekunden zu werden, die im dwTimeOut-Parameter angegeben werden. Wenn das Synchronisierungsobjekt nicht in der angegebenen Zeitraum signalisiert wurde, gibt Lock Fehler zurück.
Beispiel
// 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();
}
Anforderungen
Header: afxmt.h