Boost.Fiber when_all, simple completion


when_all, simple completion - 간단한 완성

모든 작업 함수가 완료될 때까지 기다려야 하지만 그 중 어느 것에서도 결과가 필요하지 않거나 예외가 예상되지 않는 경우에는 wait_first_simple()과 매우 유사하게 보이는 wait_all_simple()을 작성할 수 있습니다.   차이점은 Done 클래스 대신 장벽을 인스턴스화하고 해당 barrier::wait()을 호출한다는 것입니다.

count 파이버를 시작하고 wait_all_simple() 자체 내에서 wait() 호출을 실행하기 때문에 (count+1)로 장벽을 초기화합니다. 위에서 언급한 것처럼 wait_all_simple_impl()과 wait_first_simple_impl()의 유일한 차이점은 전자가 Done::notify() 대신 barrier::wait()를 호출한다는 것입니다. 다음과 같이 호출할 수 있습니다. 컨트롤은 마지막 작업 함수가 완료될 때까지 wait_all_simple() 호출에서 반환되지 않습니다.

⚛ 원문
Email 답글이 올라오면 이메일로 알려드리겠습니다.