내 코드에 2/4 스레드가 몬테카를로 시뮬레이션을 수행했습니다. 각각은 수많은 실험을 실행하고 모두 결과를 stl 벡터로 수집합니다. 제 질문은 이것입니다 : 각 스레드가 1000 개의 실험을 순차적으로 실행한다고 가정 해보십시오. 그 결과를 공유 벡터 하나에 저장하는 것이 더 낫지 않습니까? 그들이 일정한 양의 데이터를 얻을 때까지 기다리면 벡터에 쓰기가 더 오래 걸릴 것이므로 두 번째 솔루션이 반드시 첫 번째 솔루션보다 반드시 좋은 것인지 확실하지 않습니다.C++ 멀티 스레드 최적화
추신 : 각 실험은 수치 계산이므로 IO 작업이 없습니다.
감사
공유 잠금이없는 스택을 사용하여 결과를 누를 수 있습니다. – GManNickG