Поделиться через


Функция InitializeSynchronizationBarrier (synchapi.h)

Инициализирует новый барьер синхронизации.

Синтаксис

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

Параметры

[out] lpBarrier

Указатель на инициализируемую структуру SYNCHRONIZATION_BARRIER . Это непрозрачная структура, которую не следует изменять приложениями.

[in] lTotalThreads

Максимальное количество потоков, которые могут войти в этот барьер. После того как максимальное количество потоков войти в барьер, все потоки продолжаются.

[in] lSpinCount

Количество раз, когда отдельный поток должен вращаться, ожидая, пока другие потоки придут к барьеру. Если этот параметр имеет значение -1, поток вращается 2000 раз. Если поток превышает значение lSpinCount, поток блокируется, если он не вызывает enterSynchronizationBarrier с SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY.

Возвращаемое значение

TRUE Значение , если барьер успешно инициализирован. Если барьер не был успешно инициализирован, эта функция возвращает FALSE. Используйте GetLastError для получения расширенных сведений об ошибке.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header synchapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

Барьеры синхронизации

API-интерфейсы Vertdll, доступные в анклавах VBS