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