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 |