首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
72
问题
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码:
int flag[2]; /*flag数组,初始化为FALSE*/
Enter_Critica1_Section(int my_thread_id),int other_thread_id)
{
while (flag [other_thread_id]==TRUE);/*空循环语句*/
flag[my_thread_id]=TRUE;
}
Exit_Critica1_Section(int my_thread_id),int other_thread_id)
{
flag[my_thread_id]=FALSE;
}
当一个线程想要访问临界资源时,就调用上述的这两个函数。比如,线程0的代码可能是这样的:
Enter_Critica1_Section(0,1);
……使用这个资源……
Exit_Critica1_Section(0,1);
……做其他的事情……
试问:
如果把Enter Critical Section()函数中的两条语句互换一下位置,结果会如何?
选项
答案
可能会出现死锁。 考虑如下的情形: 1)初始化的时候,flag数组的两个元素值均为FALSE。 2)线程0先执行,flag[0]=TRUE,假设这个时候来了一个时钟中断,则打断它的运行。 3)线程1去执行,flag[1]=TRUE,在执行while循环语句的时候,由于flag[0]=TRUE,所以在这个地方被卡住了,直到时间片用完。 4)线程0再执行的时候,由于flag[1]=TRUE,它也在while循环语句的地方被卡住了,这样,这两个线程都无法执行下去,从而死锁。 本题出现死锁的原因是两个线程都可以直接进入Enter Critical Section()函数,并立即对flag[]进行修改,使flag[0]和flag[1]的值都为TRUE;又因为无法保讦Enter_Critica1_Section()函数执行的原子性,导致了两个进程在停止while()语句的条件判断上,发生死锁。
解析
转载请注明原文地址:https://kaotiyun.com/show/EARi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列关于塞尔维乌斯改革的叙述错误的是()。
纳粹德国公开撕毁《凡尔赛和约》的步骤有()。①大量扩展陆军,重建空军,建造军舰②迫害犹太人③退出国联④开进莱茵非军事区
使用天然火最早出现于人类发展过程的哪一阶段?()
巴黎和会召开的时间是()。
阅读下列材料,并回答问题:他们当选之后,所有提出来的一切法案,全是打击贵族的权力与威势和促进平民的利益的。一条是针对债务的,提议说:已经付过的利息总数,应在本金中扣除,余下的数目,分期在三年中偿还。第二条限制占有大量土地,禁止任何人持有土地超过500罗亩
罗马帝国疆域扩张到顶点是在()统治时期。
明代张居正推行的“一条鞭法”,是继“两税法”之后赋役制度的又一次重大改革。该法在全面推行前曾在南方部分地区试行,最早出现于()
A、1243B、4312C、2134D、3214D图的BFS遍历。D选项,首先访问结点3,与3邻接的结点4、2都未曾访问过,故3后面因该为2、4(或4、2),故D错。
某网络的拓扑结构由下图所示,其中顶点表示路由器。该网络的路由器采用了链路状态路由算法,在某一时刻各个路由器发送的链路状态如下:A:B(1),D(3)B:A(1),D(1),C(3),E(5)C:B(3),D(1)D:A(3),B(1
一个由高速缓冲存储器Cache与主存储器组成的二级存储系统。已知主存容量为1MB,按字节编址,缓存容量为32KB,采用组相联方式进行地址映射与变换,主存与缓存的每一块为64B,缓存共分8组。(1)写出主存与缓存的地址格式(标明各字段名称与位数)
随机试题
1904年至1905年,为争夺在华利益而在中国东北进行战争的帝国主义国家是()。
联合应用抗菌药物产生的结果是
A.从脉冲起点上升至波峰顶点的时间B.从波峰顶点下降至波峰终点的时间C.脉冲上升时间与下降时间之和D.脉冲的持续时间E.脉冲电流停止的时间方波的波宽是
患者男,58岁。1天前出现黄疸、发热、腹痛、呕血。该患者可能是
具有抗动脉粥样硬化作用的脂蛋白是
张某、王某与李某三人签订合伙协议,设立了甲合伙企业,约定张某用现金5万元出资,作价5万元。张某、王某、李某的利润分配比例是2:1:1,未约定亏损负担比例和合伙企业经营期限。企业成立后,王某由于要出国定居,将合伙份额转让给朱某,张某由于车祸死亡,根据张某的遗
依靠转子在气缸内做回转运动改变工作容积,进而提高气体压力的机械,指的是()。
申请代理报检单位应具备的条件有:( )
保税物流中心内企业根据需要经主管海关批准,可以分批进出货物,并按照海关规定办理月度集中报关,但集中报关不得跨年度办理。()
银行能否有效地选择目标市场,直接关系到营销的成败以及市场占有率。在选择目标市场时,银行必须从自身的特点和条件出发综合考虑以下因素()。
最新回复
(
0
)