Partilhar via


CSingleLock::bloquear

Chamar esta função para acessar o recurso controlado pelo objeto de sincronização fornecido para o CSingleLock construtor.

BOOL Lock(
   DWORD dwTimeOut = INFINITE 
);

Parâmetros

  • dwTimeOut
    Especifica a quantidade de time de espera para o objeto de sincronização esteja disponível (sinalizado).If INFINITO, Lock esperará até que o objeto é sinalizado antes de retornar.

Valor de retorno

Diferente de zero se a função foi bem-sucedida; caso contrário, 0.

Comentários

Se o objeto de sincronização está sinalizado, Lock será retornado com êxito e o thread agora possui o objeto. Se o objeto de sincronização for nonsignaled (não disponível), Lock aguardará que o objeto de sincronização ficar sinalizado o número de milissegundos especificado na dwTimeOut parâmetro.Se o objeto de sincronização não tornam-se sinalizado no time, especificadoLock 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 CSingleLock

Gráfico de hierarquia

Outros recursos

CSingleLock membros