Partager via


CriticalSection (classe)

Représente un objet de section critique.

Syntaxe

class CriticalSection;

Membres

Constructeur

Nom Description
CriticalSection ::CriticalSection Initialise un objet de synchronisation similaire à un objet mutex, mais peut être utilisé uniquement par les threads d’un seul processus.
CriticalSection ::~CriticalSection Déinitialise et détruit l’objet actuel CriticalSection .

Méthodes publiques

Nom Description
CriticalSection ::IsValid Indique si la section critique actuelle est valide.
CriticalSection ::Lock Attend la propriété de l’objet de section critique spécifié. La fonction retourne lorsque le thread appelant reçoit la propriété.
CriticalSection ::TryLock Tente d’entrer dans une section critique sans bloquer. Si l’appel réussit, le thread appelant prend possession de la section critique.

Membres de données protégés

Nom Description
CriticalSection ::cs_ Déclare un membre de données de section critique.

Hiérarchie d'héritage

CriticalSection

Spécifications

En-tête : corewrappers.h

Namespace : Microsoft ::WRL ::Wrappers

CriticalSection ::~CriticalSection

Déinitialise et détruit l’objet actuel CriticalSection .

WRL_NOTHROW ~CriticalSection();

CriticalSection ::CriticalSection

Initialise un objet de synchronisation similaire à un objet mutex, mais peut être utilisé uniquement par les threads d’un seul processus.

explicit CriticalSection(
   ULONG spincount = 0
);

Paramètres

spincount
Nombre de tours pour l’objet de section critique. La valeur par défaut est 0.

Notes

Pour plus d’informations sur les sections critiques et les compteurs de rotation, consultez la InitializeCriticalSectionAndSpinCount fonction dans la section de la Synchronization documentation de l’API Windows.

CriticalSection ::cs_

Déclare un membre de données de section critique.

CRITICAL_SECTION cs_;

Notes

Ce membre de données est protégé.

CriticalSection ::IsValid

Indique si la section critique actuelle est valide.

bool IsValid() const;

Valeur de retour

Par défaut, retourne truetoujours .

CriticalSection ::Lock

Attend la propriété de l’objet de section critique spécifié. La fonction retourne lorsque le thread appelant reçoit la propriété.

SyncLock Lock();

   static SyncLock Lock(
   _In_ CRITICAL_SECTION* cs
);

Paramètres

Cs
Objet de section critique spécifié par l’utilisateur.

Valeur de retour

Objet de verrouillage qui peut être utilisé pour déverrouiller la section critique actuelle.

Notes

La première Lock fonction affecte l’objet de section critique actuel. La deuxième Lock fonction affecte une section critique spécifiée par l’utilisateur.

CriticalSection ::TryLock

Tente d’entrer dans une section critique sans bloquer. Si l’appel réussit, le thread appelant prend possession de la section critique.

SyncLock TryLock();

static SyncLock TryLock(
   _In_ CRITICAL_SECTION* cs
);

Paramètres

Cs
Objet de section critique spécifié par l’utilisateur.

Valeur de retour

Valeur différente de zéro si la section critique est correctement entrée ou si le thread actuel possède déjà la section critique. Zéro si un autre thread possède déjà la section critique.

Notes

La première TryLock fonction affecte l’objet de section critique actuel. La deuxième TryLock fonction affecte une section critique spécifiée par l’utilisateur.