【Linux】进程间通信(信号量)

信号量

1、信号量的基本概念

  • 信号量:类似于一个计数器,当信号量的值大于0时,记录临界资源的个数,当信号量等于0时,对此信号量执行P操作(-1)进程访问临界资源时必须阻塞,当计数器减到0的时候,其他进程想要访问资源,就需要挂起等待,直到该进程执行完操作, 信号量的值大于0,或者有其他进程在此信号量上执行了V操作(+1)。

(ipcs -s  //查看信号量  ipcrm -s semid  //删除信号量)

  • 临界资源 :同一时刻只能被一个进程访问的资源
  • 临界区 :访问临界资源的代码区域
  • 原子操作:不能被中断的操作,一旦开始,必须执行完成,中间不能被暂停
  • P,V操作 :(都是原子操作)P操作(-1) 占据资源之前

                                                 V操作(+1)释放资源时

    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值