CSingleLock::Lock
Chamar essa função para obter acesso ao recurso de sincronização controlado pelo objeto fornecido para o construtor de CSingleLock .
BOOL Lock(
DWORD dwTimeOut = INFINITE
);
Parâmetros
- dwTimeOut
Especifica a quantidade de tempo para esperar o objeto de sincronização para estar disponível (signaled.)Se INFINITE, Lock esperará até que o objeto é sinalizado antes de retornar.
Valor de retorno
Diferente de zero se a função tenha êxito; se não 0.
Comentários
Se o objeto de sincronização é sinalizado, Lock retornará com êxito e o thread possui agora o objeto.Se o objeto de sincronização nonsignaled (não disponível), Lock esperará o objeto de sincronização para se sinalizado até o número de milissegundos especificado no parâmetro de dwTimeOut .Se o objeto de sincronização não tornou-se sinalizado na quantidade de tempo especificada, Lock retorna a falha.
Exemplo
// 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();
}
Requisitos
Cabeçalho: afxmt.h