다음을 통해 공유


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를 초과하는 경우 스레드는 SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY있는 EnterSynchronizationBarrier를 호출하지 않는 한 차단됩니다.

반환 값

TRUE 장벽이 성공적으로 초기화되었으면 입니다. 장벽이 성공적으로 초기화되지 않은 경우 이 함수는 를 반환합니다 FALSE. GetLastError를 사용하여 확장된 오류 정보를 가져옵니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 synchapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

동기화 장벽

VBS Enclave에서 사용할 수 있는 Vertdll API