DeleteSynchronizationBarrier 함수(synchapi.h)
동기화 장벽을 삭제합니다.
구문
BOOL DeleteSynchronizationBarrier(
[in, out] LPSYNCHRONIZATION_BARRIER lpBarrier
);
매개 변수
[in, out] lpBarrier
삭제할 동기화 장벽에 대한 포인터입니다.
반환 값
DeleteSynchronizationBarrier 함수는 항상 를 반환합니다TRUE
.
설명
DeleteSynchronizationBarrier 는 더 이상 필요하지 않은 동기화 장벽을 해제합니다. EnterSynchronizationBarrier를 호출한 직후 DeleteSynchronizationBarrier를 호출하는 것이 안전합니다. 이 함수는 장벽을 해제하기 전에 장벽의 모든 스레드가 사용을 완료하도록 하기 때문입니다.
동기화 장벽이 삭제되지 않으면 스레드는 장벽에 들어갈 때 SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE 플래그를 지정할 수 있습니다. 이 플래그를 사용하면 함수가 삭제 안전에 필요한 추가 작업을 건너뛰어 성능을 향상시킬 수 있습니다. 장벽을 사용하는 모든 스레드는 이 플래그를 지정해야 합니다. 스레드가 없으면 플래그가 무시됩니다. 이 플래그가 적용되는 동안 장벽을 삭제하면 핸들 액세스가 잘못되어 하나 이상의 스레드가 영구적으로 차단될 수 있으므로 SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE 사용할 때는 주의해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | synchapi.h |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |