Функция 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 |