CMultiLock

CMultiLock n'a pas une classe de base.

Un objet de classe CMultiLock représente le mécanisme de contrôle d'accès utilisé pour contrôler l'accès aux ressources dans un programme multithread. Pour utiliser la synchronisation des classes CSemaphore, CMutexet CEvent, vous pouvez créer un CSingleLockou CMultiLock objet d'attendre et de libérer l'objet de synchronisation. Utilisez CMultiLock lorsqu'il y a plusieurs objets que vous pourriez utiliser à un moment donné. Utilisez CSingleLock lorsque vous avez seulement besoin d'attendre qu'un seul objet à la fois.

Pour utiliser un objet CMultiLock , créez d'abord un tableau des objets de synchronisation que vous souhaitez attendre. Ensuite, appelez CMultiLock constructeur de l'objet à l'intérieur d'une fonction membre de classe de la ressource contrôlée. Puis appelez la fonction membre Lock pour déterminer si une ressource est disponible (signalé). Si l'un est, continuer avec le reste de la fonction membre. Si aucune ressource n'est disponible, soit attendre un laps de temps d'une ressource qui sera publié spécifié, ou échec de retour. Après que utilisation d'une ressource est terminée, appelez la fonction Unlock si l'objet CMultiLock doit être utilisé de nouveau ou permettre l'objet CMultiLock être détruits.

Objets de CMultiLock sont plus utiles lorsqu'un thread possède un grand nombre d'objets CEvent , à qu'elle peut répondre. Créer un tableau contenant tous les pointeurs CEvent et appelez le verrou. Cela entraînera la thread d'attendre que l'un des événements est signalé.

Pour plus d'informations sur la façon d'utiliser des objets CMultiLock , consultez l'article Multithreading : comment utiliser les Classes de synchronisation dans le Guide du programmeur Visual C++.

# include lt;afxmt.h>

Membres de la classe |  ; Graphique de la hiérarchie

Index