10.2. 장애 발생
경계는 다른 스레드 동기화 방법과 비교할 때 매우 다른 방식으로 작동합니다. 경계선은 모든 스레드와 프로세스가 이 장벽에 도달할 때까지 모든 활성 스레드가 중지되는 코드의 지점을 정의합니다. 경계는 실행 중인 애플리케이션이 실행을 계속하기 전에 모든 스레드가 특정 작업을 완료하도록 해야 하는 경우에 사용됩니다.
장벽 뮤지션은 다음 두 가지 변수를 사용합니다.
-
첫 번째 변수는
중지및 장벽의전달상태를 기록합니다. - 두 번째 변수는 장벽에 진입하는 총 스레드 수를 기록합니다.
장벽은 지정된 수의 스레드가 정의된 장벽에 도달할 때만 전달되도록 상태를 설정합니다. 장벽 상태가 전달되도록 설정되면 스레드와 프로세스가 더 계속 진행됩니다. pthread_barrier_init() 함수는 필요한 리소스를 할당하여 정의된 장벽을 사용하고 attr 속성 개체에서 참조하는 속성으로 초기화합니다.
pthread_barrier_init() 및 pthread_barrier_destroy() 함수는 성공하면 0 값을 반환합니다. 오류가 발생하면 오류 번호가 반환됩니다.