2
두 프로세스간에 장벽을 만들고 싶습니다. 이를 위해 두 개의 세마포를 사용했습니다. 프로세스 1이 장벽에 도달하면 첫 번째 세마포를 게시하여 프로세스 2에 신호를 보냅니다. 프로세스 2는 신호를 수신하면 두 번째 세마포를 승인으로 게시합니다.두 프로세스 간 장벽
코드는 다음과 같이 보입니다 ...
PROC1 :
sem_post(&sem_sig);
sem_wait(&sem_ack);
PROC2 :
이제sem_wait(&sem_sig);
sem_post(&sem_ack);
내 질문이 방법이 가장 효율적이거나하는 경우가있는 두 프로세스간에 프로세스 수준 장벽을 구현하는 더 나은 기술?
포크를 실행하고 pthread_barrier_t가 공유 메모리에 있으면 부모 프로세스에서만 pthread_barrier_init를 호출해야합니까 아니면 둘 다 호출해야합니까? – MetallicPriest
@ MetallicPriest : 하나의 프로세스에서만. 그리고'fork()'전에 실행해야한다. 그래서 두번째 프로세스가 초기화되기 전에 액세스를 시도하지 않도록 할 수있다. – caf