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