Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.