信号量实现进程同步-(进程)-操作系统

需求如图


image.png

完整代码如下: 6个进程P1-P6
P() - wait原语
V() - signal原语
semaphore 记录型信号量

同步信号量  定义
semaphore s1s2 = 0;
semaphore s1s3 = 0;
semaphore s2s4 = 0;
semaphore s2s5 = 0;
semaphore s3s6 = 0;
semaphore s4s6 = 0;
semaphore s5s6 = 0;
P1(){
    代码s1;
    V(s1s2);
    V(s1s3);
}




P2(){
    P(s1s2);
    代码s2;
    V(s2s4);
    V(s2s5);
}


P3(){
    P(s1s3);
    代码s3;
    V(s3s6);
}


P4(){
    P(s2s4);
    代码s4;
    V(s4s6);
}


P5(){
    P(s2s5);
    代码s5;
    V(s5s6);
}

P6(){
    P(s4s6);
    P(s5s6);
    P(s3s6);
    代码s6
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容