I는 다음과 같습니다 간단한 설문 조사 프로세스 루프 병렬화에 직면하고 있습니다 : 문제가 발생 된 항목을 제외하고 단일 생산자/다중 소비자 패턴을 다음과 싱글 프로듀서, 여러 소비자 아키텍처
while(!done)
buffer = poll(...)
foreach(item i in buffer)
process(i)
소비 할 필요가
을 by
모두 소비자.
구현이 멀티 스레드 C++ 코드 여야한다는 것을 고려하면 어떤 종류의 데이터 구조를 사용해야합니까?
귀하의 조언에 감사드립니다.
을 추가 할 때이 재 할당 할 수 있기 때문에
는 벡터에 대한 액세스를 동기화하는 것을 잊지 마십시오. 자물쇠가없는 솔루션을 찾고 있습니까 (자물쇠없는 솔루션이 무엇인지 알고 있습니까)? 가능하면 –
예. 모든 소비자가 생산 한 모든 것을 소비하는 다수의 소비자를 갖게되면 저를 곤란하게 만듭니다. 당연히 소비자에게 버퍼를 복사하지 않아야합니다. – NrubDub
하지만 왜 잠금이 필요하지 않습니까? –