CMultiLock Class

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

CMultiLock::CMultiLock

Crea un objeto CMultiLock.

Métodos públicos

Name

Descripción

CMultiLock::IsLocked

Determina si un objeto de sincronización concreto en la matriz está bloqueado.

CMultiLock::Lock

Espera en la matriz de objetos de sincronización.

CMultiLock::Unlock

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

Vea también

Referencia

Gráfico de jerarquías