Clase de CMultiLock
Representa el mecanismo de control de acceso utilizado para controlar el acceso a los recursos en un programa de multithreading.
class CMultiLock
Miembros
Constructores públicos
Name |
Descripción |
---|---|
Crea un objeto CMultiLock. |
Métodos públicos
Name |
Descripción |
---|---|
Determina si un objeto de sincronización concreto en la matriz está bloqueado. |
|
Espera en la matriz de objetos de sincronización. |
|
Libera los objetos de sincronización de. |
Comentarios
CMultiLock no tiene una clase base.
Para utilizar las clases CSemaphorede sincronización, CMutex, y CEvent, puede crear un objeto de CMultiLock o de CSingleLock a la espera en y liberar el objeto de sincronización.Utilice CMultiLock cuando hay varios objetos que puede usar en un momento determinado.Utilice CSingleLock si solo necesita esperar en un objeto cada vez.
Para utilizar un objeto de CMultiLock , primero cree una matriz de los objetos de sincronización en los que desee a la espera.A continuación, llama al constructor del objeto de CMultiLock dentro de una función miembro en la clase de recurso controlado.Llamar a continuación a la función miembro de bloqueo para determinar si un recurso está disponible (designado).Si es uno, continúe con el resto de la función miembro.Si no hay recursos disponibles, espere una cierta cantidad de tiempo que un recurso sea liberado, o devuelve el error.El uso posterior de un recurso se completa, cualquier llamada la función de Unlock si el objeto de CMultiLock a utilizar de nuevo, o permite que el objeto de CMultiLock se destruirá.
Los objetos deCMultiLock son más útiles cuando un subproceso tiene un gran número de objetos de CEvent que puede responder.Cree una matriz que contiene todos los punteros de CEvent , y llame a Lock.Esto hará que el subproceso para esperar hasta que uno de los eventos se señala.
Para obtener más información sobre cómo utilizar los objetos de CMultiLock , vea el artículo Multithreading: Cómo utilizar las clases de sincronización.
Jerarquía de herencia
CMultiLock
Requisitos
encabezado: afxmt.h