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