最后一个同步进制是准备用于进程组而不是进程间的生产者-消费者情况的。在某些应用中划分了若干阶段,并且规定,除非所有的进程都就绪准备着手下一阶段,否则任何进程都不能进入下一个阶段,可以通过在每个阶段的结尾安装一个屏障来实现这种行为。当一个进程到达屏障时,它会被屏障所拦截,直到所有的屏障都到达为止。屏障可以用于一组同步,如下图所示
图片说明
在上图中可以看出,有四个进程接近屏障,这意味着每个进程都在进行计算,但是还没有到达每个阶段的结尾,过了一段时间后,A,B,D都到达了屏障,各自的进程被挂起,但此时还不能进行下一个阶段呢,因为进程B还没有执行完毕。结果,当最后一个C到达屏障后,这个进程组才能够进入下一个阶段。