Freigeben über


InitializeSynchronizationBarrier-Funktion (synchapi.h)

Initialisiert eine neue Synchronisierungsbarriere.

Syntax

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

Parameter

[out] lpBarrier

Ein Zeiger auf die zu initialisierende SYNCHRONIZATION_BARRIER-Struktur. Dies ist eine undurchsichtige Struktur, die von Anwendungen nicht geändert werden sollte.

[in] lTotalThreads

Die maximale Anzahl von Threads, die in diese Barriere gelangen können. Nachdem die maximale Anzahl von Threads die Barriere betreten hat, werden alle Threads fortgesetzt.

[in] lSpinCount

Gibt an, wie oft ein einzelner Thread gedreht werden soll, während er darauf wartet, dass andere Threads die Barriere erreichen. Wenn dieser Parameter ist -1, wird der Thread 2000-mal gedreht. Wenn der Thread lSpinCount überschreitet, blockiert der Thread, es sei denn, er hat EnterSynchronizationBarrier mit SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY aufgerufen.

Rückgabewert

TRUE , wenn die Barriere erfolgreich initialisiert wurde. Wenn die Barriere nicht erfolgreich initialisiert wurde, gibt diese Funktion zurück FALSE. Verwenden Sie GetLastError , um erweiterte Fehlerinformationen abzurufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile synchapi.h (windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

Synchronisierungsbarrieren

In VBS-Enclaves verfügbare Vertdll-APIs