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 |
---|---|
Constrói um objeto de CMultiLock . |
Métodos públicos
Nome |
Descrição |
---|---|
Determina se um determinado objeto de sincronização na matriz é bloqueado. |
|
Pára na matriz de objetos de sincronização. |
|
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