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 true
toujours .
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.