CriticalSection (clase)
Representa un objeto de sección crítica.
Sintaxis
class CriticalSection;
Miembros
Constructor
Nombre | Descripción |
---|---|
CriticalSection::CriticalSection | Inicializa un objeto de sincronización similar a un objeto mutex, pero solo los subprocesos de un proceso sencillo lo pueden usar. |
CriticalSection::~CriticalSection | Desinicializa y destruye el objeto CriticalSection actual. |
Métodos públicos
Nombre | Descripción |
---|---|
CriticalSection::IsValid | Indica si la sección crítica actual es válida. |
CriticalSection::Lock | Espera la propiedad del objeto de sección crítica especificado. La función se devuelve cuando se concede la propiedad al subproceso que realiza la llamada. |
CriticalSection::TryLock | Intenta escribir una sección crítica sin bloqueo. Si la llamada se realiza correctamente, el subproceso que realiza la llamada toma posesión de la sección crítica. |
Miembros de datos protegidos
Nombre | Descripción |
---|---|
CriticalSection::cs_ | Declara un miembro de datos de sección crítica. |
Jerarquía de herencia
CriticalSection
Requisitos
Encabezado: corewrappers.h
Espacio de nombres: Microsoft::WRL::Wrappers
CriticalSection::~CriticalSection
Desinicializa y destruye el objeto CriticalSection
actual.
WRL_NOTHROW ~CriticalSection();
CriticalSection::CriticalSection
Inicializa un objeto de sincronización similar a un objeto mutex, pero solo los subprocesos de un proceso sencillo lo pueden usar.
explicit CriticalSection(
ULONG spincount = 0
);
Parámetros
spincount
El recuento de rotación para el objeto de la sección crítica. El valor predeterminado es 0.
Comentarios
Para obtener más información sobre secciones críticas y spincounts, consulte la InitializeCriticalSectionAndSpinCount
función en la sección de la Synchronization
documentación de la API de Windows.
CriticalSection::cs_
Declara un miembro de datos de sección crítica.
CRITICAL_SECTION cs_;
Comentarios
Este miembro de datos está protegido.
CriticalSection::IsValid
Indica si la sección crítica actual es válida.
bool IsValid() const;
Valor devuelto
De forma predeterminada, siempre devuelve true
.
CriticalSection::Lock
Espera la propiedad del objeto de sección crítica especificado. La función se devuelve cuando se concede la propiedad al subproceso que realiza la llamada.
SyncLock Lock();
static SyncLock Lock(
_In_ CRITICAL_SECTION* cs
);
Parámetros
cs
Objeto de sección crítica especificado por el usuario.
Valor devuelto
Objeto de bloqueo que se puede usar para desbloquear la sección crítica actual.
Comentarios
La primera función Lock
afecta al objeto de sección crítica actual. La segunda función Lock
afecta a una sección crítica especificada por el usuario.
CriticalSection::TryLock
Intenta escribir una sección crítica sin bloqueo. Si la llamada se realiza correctamente, el subproceso que realiza la llamada toma posesión de la sección crítica.
SyncLock TryLock();
static SyncLock TryLock(
_In_ CRITICAL_SECTION* cs
);
Parámetros
cs
Objeto de sección crítica especificado por el usuario.
Valor devuelto
Valor distinto de cero si la sección crítica se introduce correctamente o el subproceso actual ya posee la sección crítica. Cero si otro subproceso ya posee la sección crítica.
Comentarios
La primera función TryLock
afecta al objeto de sección crítica actual. La segunda función TryLock
afecta a una sección crítica especificada por el usuario.