进程共享资源信量控制详细实现(源码及解释).docVIP

  • 9
  • 0
  • 约3.27万字
  • 约 21页
  • 2016-10-19 发布于贵州
  • 举报

进程共享资源信量控制详细实现(源码及解释).doc

进程共享资源信量控制详细实现(源码及解释)

信号量 信号量(Semaphore)简单的说就是用来控制多个进程对共享资源使用的计数器。它是常被用作一种锁定保护机制,当某个进程对资源进行操作时阻止其他进程对该资源的访问。需要注意的是,System V中的的信号量对象实际上是信号量的集合(set),它可以包含多个信号量,控制多个共享资源。 有关的数据结构 和消息队列一样,我们在介绍他的使用前先介绍一些相关的数据结构: sem 前提提到,信号量对象实际是多个信号量的集合。在Linux系统中,这种集合是以数组的形式实现的。数组的每个成员都是一个单独的信号量,它们在系统中是以sem结构的形式存储的。Sem的结构在Linux系统linux/sem.h中定义是这样的: /* One semaphore structure for each semaphore in the system. */ Struct sem{ Short sempid; /*pid of last operation*/ Ushort semval; /*current value*/ Ushort semncnt; /*num procs awaiting increase in semval*/ Ushort s

文档评论(0)

1亿VIP精品文档

相关文档