(조건 변수와 장벽의 사용을 결합)가 필요합니다 , 나중 단계의 스레드는 현재 단계의 모든 스레드가 완료 될 때까지 기다려야합니다.은 pthread와 동기화에 대한 조언/제안 나는 다음과 같은 시나리오 한
예:
스레드 1, 2, 3은 6 개의
단계 끈 (7), (8) 작업을하고, 스텝 하나
실 (4, 5)을 작업을 수행하고, 9 세 번째 단계 수행 중 ...
각 단계의 스레드는 독립적이지만 이전 단계의 스레드가 완료 될 때까지 기다려야합니다. 현재 단계는
- : 여기
내가 이것을 달성하는 방법입니다 모든 스레드가 작업을 시작하고이 단계의 모든 스레드가 완료 될 수 있도록 장벽을 기다립니다.
- 이 단계의 모든 스레드가 완료되면 다음 단계 스레드가 대기중인 조건 변수에서 브로드 캐스트합니다.
그게 맞습니까? 여기서 분명히 잘못된 것이 있습니까?
필자는 멀티 스레딩 프로그램을위한 고급 언어 구조를 사용하고 있으며 pthread API를 사용하는 것은 나에게 고통 스럽습니다. 여기,이 유스 케이스의 모범 사례에 대한 조언이 필요합니까? 많은 감사
당신의 전략이 충분히 잘 보이는 것이된다. 시나리오에서 병렬 처리 접근법은 (1) "파이프 라인"작업이고 (2) (1)의 조건 변수와 (2)의 장벽을 사용하는 각 "분기 결합"단계입니다. – yohjp
@yohjp 귀하의 의견을 보내 주셔서 감사합니다. 위의 방법을 적용하여 작업 솔루션을 이미 구현했습니다. :) – chuchao333