首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
34
问题
假设有一个进程拥有两个线程(编号为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);
……做其他的事情……
试问:
以上的这种机制能够实现资源互斥访问吗?为什么?
选项
答案
这种机制不能实现资源的互斥访问。 考虑如下的情形: 1)初始化的时候,flag数组的两个元素值均为FALSE。 2)线程0先执行,在执行while循环语句的时候,由于flag[1]=FALSE,所以顺利结束,不会被卡住。假设这个时候来了一个时钟中断,则打断它的运行。 3)线程1去执行,在执行while循环语句的时候,由于flag[0]=FALSE,所以顺利结束,不会被卡住,然后就进入了临界区。 4)后来当线程0再执行的时候,也进入了临界区,这样就同时有两个线程在临界区。 不能成功的根本原因是无法保证Enter_Critical_Section()函数执行的原子性,从上面的软件实现方法中可以看出,对于两个进程间的互斥,最主要的问题就是标志的检查和修改不能作为一个整体来执行,因此容易导致无法保证互斥访问。
解析
转载请注明原文地址:https://kaotiyun.com/show/bARi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列哪一项不是凯末尔世俗化改革的内容?()。
中共中央通过《关于建国以来党的若干历史问题的决议》的会议是()。
三大战役的先后顺序是()
下列现象均属于明朝手工业进步的表现的是()①嘉万年间民营手工业渐居主要地位②匠役制度瓦解③出现了雇佣劳动、组织手工工场的经营方式④加强了对工匠的剥削,工匠的人身依附关系加强
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
“一战”后,协约国与奥地利签订的确认奥匈帝国解体的文件是()。
试述西欧城市兴起的原因、方式及其影响。
在4×100米接力赛中,4个运动员之间存在如下关系:运动员1跑到终点把接力棒交给运动员2;运动员2一开始处于等待状态,在接到运动员1传来的接力棒后才能往前跑,他跑完100米后交棒给运动员3;运动员3也只有接到运动员2传来的接力棒后才能往前跑,他跑完100米
给定单链表的结点结构typedefstructnode*link;structnode{intitem,linknext;);将两个升序单链表归并为一个升序单链表。
某机的主要部件如下图所示。(1)请补充各部件间的主要连接线,并注明数据流动方向。(2)拟出指令SUB(R1),一(R2)的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行减法操作,源操作数地址和目的操作数地址分别在
随机试题
下列平面方程中,哪个方程过y轴()
上颌基托的哪个部分适宜做薄,以减少发音影响
按照契税暂行条例的有关规定,契税纳税义务发生的时间是()。
海外游客在来华途中遗失行李的,由组团社领队负责,导游人员无需插手。()
在豌豆植株的叶肉细胞中,细胞质内含有的糖类和核酸主要是糖原和脱氧核糖核酸。()
2014年1—3月全国固定资产投资与2015年1—3月全国固定资产投资相比,同比增速之差为:
南京青奥会开幕式上,将有6位奥运冠军完成场内火炬______,其中陈若琳为最后一棒火炬手,将完成点火______,她表示,成为火炬手已经很______,当知道是最后一棒火炬手的时候很______。
HaveYouFilledUpTheForm?Ofallthingsintheworld,Imostdislikefillingupforms.Infact,Ihavea【51】horrorofit
WhenJulesVernewroteJourneytotheCenteroftheEarthin1864,thereweremanyconflictingtheoriesaboutthenatureofthe
HighDropoutRateinUSManyyoungpeopleintheUnitedStatesneverfinishhighschool.Exactlyhowmanydropoutsisanothe
最新回复
(
0
)