首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2];/*flag数组,初始化为FALSE*/
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2];/*flag数组,初始化为FALSE*/
admin
2014-04-17
49
问题
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码:
int flag[2];/*flag数组,初始化为FALSE*/
Enter_critical_section(int my_thread_id),int other_thread_id)
while (flag[other_thread-id]=TRuE); /*空循环语句*/
flag[my_thread_id]=TRUE;
}
Exit_Critical_Seetion(int my_thread_id),int other_thread_id)
{
flag[my_thread_id]=FALSE;
}
当一个线程想要访问临界资源时,就调用上述的这两个函数。例如,线程0的代码可能是这样的:
Enter_Critical_Section(0,1);
……使用这个资源……
Exit_Critical_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 Criticall Section()函数,并立即对flag[]进行修改,使flag[0]和flag[1]的值都为TRUE;又因为无法保证Enter CriticaL Section()函数执行的原子性,导致了两个进程在停止while()语句的条件判断上发生死锁。
解析
转载请注明原文地址:https://jikaoti.com/ti/hjajFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
建设有中国特色的社会主义理论主要包括哪些内容?
下列历史事件发生的先后顺序是()①“铁幕”演说②马歇尔计划③北大西洋公约
毛泽东从事了大量理论研究工作,系统阐述了新民主主义的理论,下列选项中,不属于这一范围的是()
使用天然火最早出现于人类发展过程的哪一阶段?()
清朝入关初期执行了一些错误的政策,在社会上产生了不良的影响,其中不包括()。
列宁在()中系统地阐明了马克思主义的国家学说。
系统总结了6世纪以前黄河中下游地区农牧业生产经验的著作是()。
下列有关《布列斯特和约》的说法中,错误的一项是()。
描述滑动窗口机制及其作用。比较停止一等待协议,多帧滑动窗口和后退N帧协议,多帧滑动窗口与选择重传协议的区别。
float型数据通常用IEEE754单精度浮点数格式表示。若编译器将float型变量x分配到一个32位浮点寄存器FRl中,且x=一8.25,则FRl的内容是____。
随机试题
在乙有限责任公司设立过程中,出资人甲以设立中的乙公司名义与他人签订一份房屋租赁合同,所租房屋供筹建乙公司之用。乙公司成立后,将该房屋作为公司办公用房,但始终未确认该房屋租赁合同。下列关于房屋租赁合同责任承担的表述中,符合公司法律制度规定的是()。
专门型分销渠道
下列选项中,属于家庭美德基本要求的是
泌尿系统损伤最常见的部位是
管理中心用住房公积金在受委托银行发放个人住房贷款取得的收入,免征营业税。()
2016年5月甲公司安排李某于5月1日(国际劳动节)、5月7日(周六)分别加班1天,事后未安排补休。已知甲公司实行标准工时制,李某的日工资为200元。计算甲公司应支付李某5月最低加班工资的下列计算中,正确的是()元。
2.02,4.02,6.04,10.08,()
在无线通信系统中,UE在运动的情况下,由于大型建筑物和其他物体对无线电波的传输路径的阻挡,在传播接收区域上形成半盲区,从而形成电磁场阴影,这种随UE位置的不断变化而引起的接收点电场强度中值的起伏变化称为阴影效应。()
采用线性链表表示一个向量时,要求占用的存储空间地址()。
TheviolenttornadothatstruckinAugustlastyear________________________(已经引起全球科学家的高度重视).
最新回复
(
0
)