码迷,mamicode.com
首页 > 其他好文 > 详细

操作系统——信号量机制

时间:2019-09-14 22:38:41      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:技术   ++   阻塞   图片   信号量   typedef   str   sem   --   

一、知识总览

技术图片

 

 信号量机制的基本原理:两个或多个进程可以利用彼此间收发的简单的信号来实现“正确的”并发执行,一个进程在收到一个指定信号前,会被迫在一个确定的或者需要的地方停下来,从而保持同步或互斥。

技术图片

二、整型信号量

技术图片

 

三、记录型信号量

技术图片

 

typedef struct{
    int value;
    struct process *L;
}semaphore//信号量

void wait(semaphore S){//wait原语
    S.value--;
    if(S.value<0){
        block(S.L);//阻塞原语
    }
}

void signal(semaphore S){//signal原语
    S.value++;
    if(S.value<=0){
        wakeup(S.L);//唤醒原语
    }
}

 

 技术图片

 

四、总结:

技术图片

 

操作系统——信号量机制

标签:技术   ++   阻塞   图片   信号量   typedef   str   sem   --   

原文地址:https://www.cnblogs.com/wkfvawl/p/11520301.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!