DeleteSynchronizationBarrier, fonction (synchapi.h)
Supprime une barrière de synchronisation.
Syntaxe
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
Paramètres
[in, out] lpBarrier
Pointeur vers la barrière de synchronisation à supprimer.
Valeur retournée
La fonction DeleteSynchronizationBarrier retourne TRUE
toujours .
Remarques
DeleteSynchronizationBarrier libère une barrière de synchronisation lorsqu’elle n’est plus nécessaire. Il est prudent d’appeler DeleteSynchronizationBarrier immédiatement après l’appel d’EnterSynchronizationBarrier , car cette fonction garantit que tous les threads de la barrière ont fini de l’utiliser avant d’autoriser la libération de la barrière.
Si une barrière de synchronisation ne sera jamais supprimée, les threads peuvent spécifier l’indicateur SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE lorsqu’ils entrent dans la barrière. Cet indicateur empêche la fonction d’ignorer le travail supplémentaire requis pour la sécurité de suppression, ce qui peut améliorer les performances. Tous les threads utilisant la barrière doivent spécifier cet indicateur ; si un thread ne le fait pas, l’indicateur est ignoré. Soyez prudent lorsque vous utilisez SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE, car la suppression d’une barrière pendant que cet indicateur est en vigueur peut entraîner un accès de handle non valide et provoquer le blocage permanent d’un ou plusieurs threads.
Configuration requise
Condition requise | Valeur |
---|---|
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 |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |