信号量的初始值
来源:互联网 发布:linux内核开发流程 编辑:程序博客网 时间:2024/04/30 20:47
互斥信号量的初始值一般是1,因为两个进程之间的缓冲区通常是一个。
对于同步信号量,前一个进程的同步信号量的初始值一般是n,后一个进程的同步信号量的初始值一般是0.
怎么判断同步信号量是属于哪个进程的
同步信号量的P操作在哪一个进程前面,该信号量就是哪一个进程的。
某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、Sl和S2,其同步模型如下图所示。
信号量S是一个互斥信号量,初值为( );Sl、S2的初值分别为( )。
A.0 B.1 C.n D.任意正整数
A.n、0 B.0、n C.1、n D.n、1
试题答案:B,A
试题来源:2011年下半年软件设计师考试试题
解析:甲乙之间的那个半成品箱就只有一个,所以互斥信号量的初始值是1。
企业的生产流水线上有2名工人P1和P2,1名检验员P3。P1将初步加工的半成品放入半成品箱B1; P2从半成品箱B1取出继续加工,加工好的产品放入成品箱B2;P3从成品箱B2去除产品校验。假设B1可存放n件半成品,B2可存放m件产品,并设置6 个信号量S1、S2、S3、S4、S5和S6,且S3和S6的初值都为0。采用PV操作实现P1、P2和P3的同步模型如下图所示,则信号量S1和 S5(23);S2、S4的初值分别为(24)。
(23)A.分别为同步信号量和互斥信号量,初值分别为0和1
B.都是同步信号量,其初值分别为0和0
C.都是互斥信号量,其初值分别为1和1
D.都是互斥信号量,其初值分别为0和1
(24)A.n、0 B. m、0 C.m、n D.n、m
- 信号量的初始值
- combobox初始值的问题
- java 类型的初始值
- static变量的初始值
- Java 变量 的 初始值
- JavaSE__Integer 的默认初始值
- Setting的默认初始值
- 数组初始值的问题
- Java初始值的相关操作
- 枚举类型的初始值问题
- c#, enum的初始值0
- 更改数据库字段的初始值
- MMS的一些初始值记录
- 易语言数据类型的初始值
- js的Boolean对象初始值
- Java 各类型的初始值
- Oracle修改sequence的初始值
- 光标清除文本框的初始值
- 最长上升子列
- 无法确定表达式的类型,因为<null>和int之间没有隐式转换
- 学习jquery小测试 自娱自乐
- null和""的区别详解
- 【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
- 信号量的初始值
- linux驱动中的等待队列头
- UVa - 156 Ananagrams(STL)
- 关于Ping和Tracert命令原理详解
- 1-2 Fibonacci sequence
- UVa - 10474 Where is the Marble?(STL)
- Android开发本地及网络Mp3音乐播放器(十五)网络音乐及歌词下载功能实现
- UVa - 10815 Andy's First Dictionary(STL)
- linux的内核定时器