Udostępnij za pośrednictwem


CSingleLock::Unlock

Zwalnia obiekt synchronizacji własnością CSingleLock.

BOOL Unlock( ); 
BOOL Unlock( 
   LONG lCount, 
   LPLONG lPrevCount = NULL  
);

Parametry

  • lCount
    Liczba dostępów do wydania.Musi być większa niż 0.Jeśli określona kwota mogłoby spowodować licznik obiektu przekracza maksymalną, licznik nie jest zmieniana i funkcja zwraca FALSE.

  • lPrevCount
    Punkty do zmiennej do odbierania poprzedni licznik obiektu synchronizacji.Jeśli NULL, poprzedni licznik nie jest zwracana.

Wartość zwracana

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

Uwagi

Ta funkcja jest wywoływana przez CSingleLockprzez destruktor.

Aby zwolnić więcej niż jeden licznik dostępu semafora, należy użyć drugą formę Unlock i określić liczbę dostępów do wydania.

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