CriticalSection (clase)
Representa un objeto de sección crítica.
class CriticalSection;
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. |
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. |
Nombre | Descripción |
---|---|
CriticalSection::cs_ | Declara un miembro de datos de sección crítica. |
CriticalSection
Encabezado: corewrappers.h
Espacio de nombres: Microsoft::WRL::Wrappers
Desinicializa y destruye el objeto CriticalSection
actual.
WRL_NOTHROW ~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
);
spincount
El recuento de rotación para el objeto de la sección crítica. El valor predeterminado es 0.
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.
Declara un miembro de datos de sección crítica.
CRITICAL_SECTION cs_;
Este miembro de datos está protegido.
Indica si la sección crítica actual es válida.
bool IsValid() const;
De forma predeterminada, siempre devuelve true
.
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
);
cs
Objeto de sección crítica especificado por el usuario.
Objeto de bloqueo que se puede usar para desbloquear la sección crítica actual.
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.
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
);
cs
Objeto de sección crítica especificado por el usuario.
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.
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.