Поделиться через


CSingleLock::Lock

Эта функция вызывается для получения доступа к ресурсу проконтролированному объектом синхронизации, переданным в конструктор CSingleLock.

BOOL Lock(
   DWORD dwTimeOut = INFINITE 
);

Параметры

  • dwTimeOut
    Указывает время ожидания объект синхронизации, чтобы быть доступным (просигнализированный).Если INFINITE, Lock ожидает, пока объект не будет сигнал до возвращения.

Возвращаемое значение

Ненулевой если функция была успешна; в противном случае – значение 0.

Заметки

Если объект синхронизации, получает сигнал, Lock будет успешно, и поток теперь принадлежит объект.Если nonsignaled объект синхронизации (нет), то Lock ожидает объект синхронизации, чтобы стать сигнальным до тех пор, пока число миллисекунд, указанных в параметре dwTimeOut.Если объект синхронизации не стал сигнальным в указанное время, Lock возвращает ошибку.

Пример

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

Требования

Header: afxmt.h

См. также

Ссылки

Класс CSingleLock

Диаграмма иерархии