码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 进程间通信 --信号量

时间:2017-10-17 18:58:19      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:等于   状态   维护   资源   计数器   数据   表示   共享   功能   

一、信号量

  信号量是一个用来描述临界资源的资源个数的计数器。
  信号量的本质是一种数据操作锁,它本身不具有数据交换的功能,而是通过控制其他的通信资源(文件、外部设备等)来实现进程间通信,

        他本身更只是一种外部资源的标识。信号量在此过程中负责数据操作的同步、互斥等功能。
  当请求 一个使用信号量来表示 的资源时,进程需要先读取信号量的值来判断资源是否可用。大于0,资源可以请求;等于0,无资源可用,

进程会进入睡眠状态直至资源可用。

  当进程不再使用一个使用信号量控制的共享资源时,信号量的值+1,对信号量的值进行的增减都是原子操作,这是由于信号量的主要作用

是维护资源的互斥或多进程的同步访问。而在信号量的创建及初始化上,不能保证操作均为原子性。

Linux 进程间通信 --信号量

标签:等于   状态   维护   资源   计数器   数据   表示   共享   功能   

原文地址:http://www.cnblogs.com/hkyst/p/7682901.html

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