首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
生产者进程和消费者进程代码如下。生产者进程有一个局部变量nextProduced,以存储新产生的新项: while(1){ /*produce an item in nextProduced*/ while((in+1)%BUFFE
生产者进程和消费者进程代码如下。生产者进程有一个局部变量nextProduced,以存储新产生的新项: while(1){ /*produce an item in nextProduced*/ while((in+1)%BUFFE
admin
2019-05-10
54
问题
生产者进程和消费者进程代码如下。生产者进程有一个局部变量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=(0ut+i)%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 SlZE—1]∪[0,in—1],即有如图6—8所示的两种情况。
当in==out时,前一个操作肯定是运行了消费者进程(out追上了in),因为生产者进程中,当遇到(in+1)%BUFFER_SIZE==out时就忙等,即生产进程无法使in==out,所以此时缓冲区中item数目应该是0。
当(in+1)%BUFFER_SlZE==out时,即in差一个空位就追上out了,此时缓冲区中item数目应该是BUFFER_SIZE—1。
所以本题正确答案是B选项。
转载请注明原文地址:https://kaotiyun.com/show/i6Ci777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
论述南朝门阀士族。
德里苏丹国(1206—1526年)是印度历史上第一个较为稳固的伊斯兰教政权。该时期印度的官方语言是()
欧洲历史上第一部系统完备的法典是()。
下列各组条约的时间排列顺序正确的是()。①《布列斯特条约》②《色佛尔条约》③《九国公约》④《洛桑条约》
我国第一部系统的史学理论著作是()。
试述西欧城市兴起的原因、方式及其影响。
简述第二次世界大战中各主要战场战略性转折的时间及其代表性战役。
洪武八年,朱元璋仿照元朝的办法,印造(),命令民间通行,形成了钱、钞并用的货币制度
若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其层次序列为()。
随机试题
缩窄性心包炎最常见的临床表现是
关于肺叶影像解剖的叙述,错误的是
初孕妇,26岁。停经49天,阵发性腹痛伴阴道流血。妇科检查:宫口扩张,胚胎组织堵塞宫口,子宫略小于停经周数,最有可能的诊断是
二次型f(x1,x2,x3)=(λ-1)x12+λx22+(λ+1)x32,当满足()时,是正定二次型。
图示电路中,稳压管的稳定电压Uz=6V,稳定电流Iz=5mA。试求在稳定条件下IL的数值最大不应超过( )。
城市生活垃圾的处理方法之一是垃圾焚烧,下列哪一项是其主要优点?()
下列经济业务发生后,在权责发生制下应计入本期费用的有()。
保税区内企业进口免税自用的机器设备等需填制“出口保税区进境备案清单”,出口加工区企业进口免税的机器设备等应填制“进口货物报关单”。()
下列属于欺诈发行股票、债券罪的有()。I.在招股说明书中隐瞒重要事实Ⅱ.在企业债券募集办法中编造重大虚假内容Ⅲ.在认股书中隐瞒重要事实Ⅳ.在财务会计报告中提供虚假事实
两个或两个以上的纳税人共同取得同一项所得的,可对每人分得的收入分别减除费用,计算各自应纳税款。()
最新回复
(
0
)