Condividi tramite


Classe di CMultiLock

Rappresenta il meccanismo di controllo di accesso utilizzato per controllare l'accesso alle risorse di un programma multithread.

class CMultiLock

Membri

1d1w58t7.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

CMultiLock::CMultiLock

Costruisce un oggetto CMultiLock.

1d1w58t7.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Descrizione

CMultiLock::IsLocked

Determina se un oggetto di sincronizzazione specifico della matrice è bloccato.

CMultiLock::Lock

Attende la matrice di oggetti di sincronizzazione.

CMultiLock::Unlock

Rilascia tutti gli oggetti di sincronizzazione di proprietà.

Note

CMultiLock non dispone di una classe base.

Per utilizzare le classi CSemaphoredi sincronizzazione, CMutexe CEvent, è possibile creare un oggetto CSingleLock o CMultiLock all'attesa e rilasciare l'oggetto di sincronizzazione.Utilizzare CMultiLock quando sono presenti più oggetti utilizzabili in un determinato momento.Utilizzare CSingleLock solo quando è necessario attendere su un oggetto alla volta.

Per utilizzare un oggetto CMultiLock , creare innanzitutto una matrice di oggetti di sincronizzazione che si desidera attesa.Successivamente, chiamare il costruttore dell'oggetto CMultiLock in una funzione membro nella classe delle risorse archiviate.Chiamare la funzione membro blocco per determinare se una risorsa è disponibile (segnalato).Se una proprietà è, procedere con il resto della funzione membro.Se non esiste alcuna risorsa disponibile, aspetti una quantità di tempo specificato per una risorsa vengano rilasciati, o restituire l'errore.Dalla di una risorsa è completa, qualsiasi chiamata la funzione Sblocca se l'oggetto CMultiLock deve essere riutilizzato, o modo l'oggetto CMultiLock da eliminato.

Gli oggetti diCMultiLock sono particolarmente utili quando un thread dispone di un numero elevato di oggetti CEvent può rispondere.Creare una matrice che contiene tutti i puntatori CEvent e chiamare Lock.In questo modo il thread in attesa finché non viene segnalato uno degli eventi.

Per ulteriori informazioni su come utilizzare gli oggetti CMultiLock , vedere l'articolo multithreading: Utilizzo delle classi di sincronizzazione.

Gerarchia di ereditarietà

CMultiLock

Requisiti

Header: afxmt.h

Vedere anche

Riferimenti

Grafico della gerarchia