Partager via


Fonction InitializeSynchronizationBarrier (synchapi.h)

Initialise une nouvelle barrière de synchronisation.

Syntaxe

BOOL InitializeSynchronizationBarrier(
  [out] LPSYNCHRONIZATION_BARRIER lpBarrier,
  [in]  LONG                      lTotalThreads,
  [in]  LONG                      lSpinCount
);

Paramètres

[out] lpBarrier

Pointeur vers la structure SYNCHRONIZATION_BARRIER à initialiser. Il s’agit d’une structure opaque qui ne doit pas être modifiée par les applications.

[in] lTotalThreads

Nombre maximal de threads pouvant entrer dans cette barrière. Une fois le nombre maximal de threads entrés dans la barrière, tous les threads continuent.

[in] lSpinCount

Nombre de fois où un thread individuel doit tourner en attendant que d’autres threads arrivent à la barrière. Si ce paramètre est -1, le thread tourne 2000 fois. Si le thread dépasse lSpinCount, le thread bloque, sauf s’il a appelé EnterSynchronizationBarrier avec SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY.

Valeur retournée

TRUE si la barrière a été correctement initialisée. Si la barrière n’a pas été correctement initialisée, cette fonction retourne FALSE. Utilisez GetLastError pour obtenir des informations d’erreur étendues.

Configuration requise

   
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête synchapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

Barrières de synchronisation

API Vertdll disponibles dans les enclaves VBS