CMultiLock

CMultiLock non dispone di una classe base.

Un oggetto della classe CMultiLock rappresenta il meccanismo di controllo di accesso utilizzato nel controllo dell'accesso alle risorse in un programma multithread. Per utilizzare la sincronizzazione classi CSemaphore, CMutexe CEvent, è possibile creare un CMultiLock o CSingleLock oggetto di attendere e rilasciare l'oggetto di sincronizzazione. Quando ci sono più oggetti che potrebbero utilizzare in un momento particolare, utilizzare CMultiLock . Utilizzare CSingleLock quando devi solo aspettare su un oggetto in un momento.

Per utilizzare un oggetto CMultiLock , innanzitutto creare una matrice di oggetti di sincronizzazione che si desiderano attendere. Successivamente, chiamare il costruttore dell'oggetto CMultiLock all'interno di una funzione membro nella classe della risorsa controllata. Quindi chiamare la funzione membro Lock per determinare se una risorsa è disponibile (segnalato). Se uno è, continuare con il resto della funzione membro. Se nessuna risorsa è disponibile, o attendere per un determinato periodo di tempo per una risorsa essere rilasciato o restituire il fallimento. Termine dell'utilizzo di una risorsa, o chiamare la funzione di sblocco se l'oggetto CMultiLock deve essere riutilizzato, o consentire all'oggetto CMultiLock di essere distrutti.

CMultiLock oggetti sono più utili quando un thread ha un gran numero di oggetti CEvent che potranno rispondere. Creare una matrice contenente tutti i puntatori a CEvent e chiamare Lock. Questo farà sì che il thread di attendere fino a uno degli eventi viene segnalato.

Per ulteriori informazioni su come utilizzare gli oggetti CMultiLock , vedere l'articolo Multithreading: come utilizzare le classi di sincronizzazione nel manuale del programmatore di Visual C++.

# include lt;afxmt.h>

Membri della classeGerarchia Chart

Index