首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
生产者进程和消费者进程代码如下,生产者进程有一个局部变量nextProduced,以存储新产生的新项: while(1){ /*produce an item in nextProduced*/ while((in+1)%BUFFER SIZE==
生产者进程和消费者进程代码如下,生产者进程有一个局部变量nextProduced,以存储新产生的新项: while(1){ /*produce an item in nextProduced*/ while((in+1)%BUFFER SIZE==
admin
2017-11-20
33
问题
生产者进程和消费者进程代码如下,生产者进程有一个局部变量nextProduced,以存储新产生的新项:
while(1){
/*produce an item in nextProduced*/
while((in+1)%BUFFER SIZE==out);/*do nothing*/
buffer[in]=nextProduced;
in=(in+1)%BUFFER_SIZE;
}
消费者进程有一个局部变量nextConsumed,以存储所要使用的项:
while(1){
while(in==out);/*do nothing*/
nextConsumed=buffer[out];
out=(out+1)%BUFFER SIZE;
/*consume the item in nextConsumed*/
}
当in==out和(in+1)%BUFFER_SIZE==out条件成立的时候,缓冲区中item数目各是( )。
选项
A、0,BUFFER_SIZE
B、0,BUFFER_SIZE-1
C、BUFFER_SIZE-1,0
D、BUFFER_SIZE,0
答案
B
解析
通过阅读代码可知,变量in指向缓冲区中下一个空位,变量out指向缓冲区中的第一个非空位。BUFFER_SIZE是缓冲区最大能容纳的item数目。buffer中,非空的位置范围是[out,in-1]或者[out,BUFFER_SIZE-1]∪[0,in-1],即有如图6-7所示的两种情况。
当in==out时,前一个操作肯定是运行了消费者进程(out追上了in),因为生产者进程中,当遇到(in+1)%BUFFER_SIZE==out时就忙等,即生产进程无法使in==out,所以此时缓冲区中itern数目应该是0。
当(in+1)%BUFFER_SIZE==out时,即in差一个空位就追上out了,此时缓冲区中itern数目应该是BUFFER_SIZE-1。
所以本题正确答案是B选项。
转载请注明原文地址:https://kaotiyun.com/show/SjRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
战国时期的著名水利工程“郑国渠”位于今天的()。
氏族公社形成的条件和基本标志是()。
晚清时期清帝年号的正确排序是()
洋务派创办军事工业的方式是()。
下列城市:①南京②厦门③天津④杭州,按其在近代历史上开放为商埠的时间先后顺序排列应该是()
西汉初年,西域共有36国,其中以()人口最多。
解放军渡江战役中横渡长江的东西两个攻击点是()。
隋朝建立了三省六部制,其中负责审议的部门是()。
1950年,人民政府开始全面调整工商业,采取了对私营工商业的加工订货、向农民收购土副产品、用协商方式解决劳资纠纷等措施。这些措施的主要任务是()
随机试题
影响可比产品成本降低计划完成情况的因素,概括起来有三个:______、产品品种结构和产品单位成本。
下列各句中,没有语病的一项是。
利用工作便利,为他人开处方或为自己开处方的吸食麻醉药品的
具体环境亦称为微观环境,指的是与组织直接发生联系的那些环境要素,企业的竞争对手和政府管理部门均属于具体环境。()
金融机构最基本、最能反映其经营活动特征的职能是()。
造成股利波动较大,给投资者以公司不稳定的感觉,对于稳定股票价格不利的股利分配政策是()。
马克思说:“权力永远也不能超出社会的经济结构以及由经济结构所制约的社会文化发展。”从这句话我们可以看出()。
用于行政管理的“命令(令)”其发布权限属于地方各级人民政府。()
“使老有所终,壮有所用,幼有所长,鳏寡孤独废疾者,皆有所养”是古代哪个学派的观点?
【B1】【B14】
最新回复
(
0
)