Namespaces
Variants

std::experimental::barrier:: arrive_and_wait

From cppreference.net
void arrive_and_wait ( ) ;
(동시성 TS)

블록들이 배리어의 동기화 지점에 도달합니다.

호출 스레드가 이 배리어의 참여 스레드 집합에 속하지 않는 경우 동작은 정의되지 않습니다.

arrive_and_wait 에 대한 호출은 배리어의 완료 단계 시작과 동기화됩니다. 완료 단계의 종료는 호출로부터의 반환과 동기화됩니다.

arrive_and_drop arrive_and_wait 에 대한 호출은 서로 간에 또는 자기 자신과 데이터 경쟁을 발생시키지 않습니다.

참고 사항

스레드가 이 호출에서 반환된 직후 arrive_and_wait() 또는 arrive_and_drop() 을 호출하는 것은 안전합니다. 스레드가 다시 호출하기 전에 모든 차단된 스레드가 arrive_and_wait() 을 벗어났는지 확인할 필요가 없습니다.

barrier num_threads 개의 스레드에 대해 생성될 때, 참여 스레드 집합은 동기화 지점에 가장 먼저 도착하는 첫 num_threads 개의 스레드로 구성됩니다. 이 집합은 arrive_and_drop() 호출로 인해 집합에서 제거되는 스레드를 제외하고는 주기마다 변경되지 않습니다.

예외

아무것도 던지지 않습니다.

참고 항목

동기화 지점에 도달하고 현재 스레드를 참여 스레드 집합에서 제거합니다
(public member function)