Compartilhar via


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

Consulte também

Referência

Classe de CSingleLock

Gráfico de hierarquia