我想在两个进程之间创建一个屏障。为此,我使用了两个信号量。当进程 1 到达屏障时,它通过发布第一个信号量向进程 2 发出信号。进程 2 收到信号后,发布第二个信号量作为确认。
代码看起来像这样......
过程 1:
sem_post( &sem_sig );
sem_wait( &sem_ack );
过程2:
sem_wait( &sem_sig );
sem_post( &sem_ack );
现在我的问题是这种方法是否最有效,或者是否有更好的技术来实现两个进程之间的进程级屏障?
最佳答案
Linux 实现了pthread_barrier_t
。对我来说,它看起来非常适合您的需求。对于 pthread_barrier_init
的调用,您只需指定此屏障是进程共享的。
关于c - 两个进程之间的障碍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835542/