2010-03-08 4 views
6

실행/차단 작업중인 여러 작업자에게 TBB 작업의 작업 (void*)을 전달하기 위해 빠른 스레드 간 통신 메커니즘이 필요합니다. 현재 pipe() + libevent을 (를) 사용하고 있습니다. 인텔 스레딩 구성 요소와 함께 사용할 수있는 더 빠르고 효율적인 대안이 있습니까?빠른 스레드 간 통신 메커니즘

+0

전역 변수? – kennytm

답변

6

스레드가 동일한 메모리 공간을 공유하므로 뮤텍스 잠금이있는 표준 메모리 만 사용할 수 있어야합니다. pipe() + libevent 솔루션은 각 프로세스가 다른 메모리 공간을 갖는 프로세스 간 통신에 더 적합합니다.

+1

답장을 보내 주셔서 감사합니다. Concurrent_bounded_queue를 사용하겠습니다 :) – Stan

2

체크 아웃 Implementing a Thread-Safe Queue using Condition Variables 스레드 간 통신을 용이하게하기 위해 STL 큐, 뮤텍스 및 조건 변수를 사용합니다. (이것이 인텔 스레딩 구성 요소에 적용 가능한지는 모르겠지만 TBB가 질문/제목에 언급되지 않았기 때문에 다른 사람들이 내가했던 것처럼 끝낼 것이라고 가정합니다. 즉, 스레드 간 통신 메커니즘을 찾고 있습니다. IPC가 아니라이 기사가 도움이 될 것입니다.)