Compartilhar via


Classe CMultiLock

Representa o mecanismo de controle de acesso usado no acesso aos recursos de controle em um programa com vários segmentos.

class CMultiLock

Membros

Construtores public

Nome

Descrição

CMultiLock::CMultiLock

Constrói um objeto de CMultiLock .

Métodos públicos

Nome

Descrição

CMultiLock::IsLocked

Determina se um determinado objeto de sincronização na matriz é bloqueado.

CMultiLock::Lock

Pára na matriz de objetos de sincronização.

CMultiLock::Unlock

Libera quaisquer objetos pertencentes a sincronização.

Comentários

CMultiLock não tem uma classe base.

Para usar as classes CSemaphorede sincronização, CMutex, e CEvent, você pode criar CMultiLock ou objeto de CSingleLock para esperar sobre e liberar o objeto de sincronização. Use CMultiLock quando há vários objetos que você pode usar em um horário específico. Use CSingleLock quando você só precisará esperar em um objeto de cada vez.

Para usar um objeto de CMultiLock , primeiro crie uma matriz de objetos de sincronização que você deseja aguardar em. Em seguida, chama o construtor do objeto de CMultiLock dentro de uma função de membro na classe do recurso controlado. Chame a função de membro de Bloquear para determinar se um recurso está disponível (signaled.) Se um for, continue com o restante da função de membro. Se nenhum recurso está disponível, espere um período de tempo especificado para um recurso será liberado, ou retornar a falha. Após o uso de um recurso está completo, ou chame a função de desbloquear se o objeto de CMultiLock deve ser usado novamente, ou permite que o objeto de CMultiLock é destruído.

Os objetos deCMultiLock são mais úteis quando um segmento possui um grande número de objetos que CEvent possa responder. Criar uma matriz que contém todos os ponteiros de CEvent , e a chamada Lock. Isso fará com que o segmento aguarde até que um de eventos é sinalizado.

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

Hierarquia de herança

CMultiLock

Requisitos

Cabeçalho: afxmt.h

Consulte também

Referência

Gráfico da hierarquia