Compartilhar via


Classe CMultiLock

Representa o mecanismo de controle de acesso usado no controle de acesso a recursos em um programa multithread.

class CMultiLock

Comentários

CMultiLock não tem uma classe base.

Para usar a sincronização de classes CSemaphore, CMutex, and CEvent, você pode criar qualquer um CMultiLock or CSingleLock objeto aguardar e liberar o objeto de sincronização.Use CMultiLock quando há vários objetos que você pode usar em um momento específico.Use CSingleLock Quando você precisar esperar por um objeto em um time.

Para usar um CMultiLock de objeto, primeiro crie uma matriz dos objetos de sincronização que deseja aguardar.Em seguida, telefonar o CMultiLock construtor do objeto dentro de uma função de membro na classe do recurso controlado.Em seguida, telefonar o bloquearfunção de membro para determinar se um recurso está disponível (sinalizado).Se um for, vá para o restante da função de membro.Se nenhum recurso estiver disponível, aguarde um determinado período de time para um recurso a ser lançada, ou retornar falha.Depois de uso de um recurso for concluído, ou chamar o Desbloquear funcionar se o CMultiLock objeto é ser usado novamente ou permitir o CMultiLock objeto a ser destruído.

CMultiLock objetos são mais úteis quando um thread tiver um grande número de CEvent objetos pode responder a. Criar uma matriz contendo todos os CEvent ponteiros e telefonar Lock. Isso fará com que o thread a esperar até que um dos eventos é sinalizado.

Para obter mais informações sobre como usar CMultiLock objetos, consulte o artigo Multithreading: Como usar a sincronização classes.

Requisitos

Cabeçalho: afxmt.h

Consulte também

Referência

Gráfico de hierarquia

Outros recursos

CMultiLock membros