首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2];/*flag数组,初始化为FALSE*/
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2];/*flag数组,初始化为FALSE*/
admin
2014-04-17
43
问题
假设有一个进程拥有两个线程(编号为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://kaotiyun.com/show/fixi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述近代香港问题的形成。
论述十字军运动(十字军东征)发生的背景、过程及其影响。
马克思为第一国际起草的文件有()。①《共产党宣言》②《临时章程》③《成立宣言》④《资本论》
试结合新民主主义革命不同历史时期的历史实际,阐述中国共产党在处理同资产阶级复杂关系问题上的做法、结果及其历史经验。
第一次明确提出“均贫富”口号的是()。
西周的官僚制度已经相当完备,官僚机构庞杂,职官名目繁多。周王室的官僚机构分为两大系统,分别是()。
1870年普鲁士军队侵人巴黎,法国人民组织国民自卫军誓保卫巴黎,参加国民自卫军的大部分是()。
(1)页面长度为1KB=210B,因此页内偏移地址占10位。主存大小为16KB=214B,所以物理地址占14位。0AC5H=0000101011000101B,除去后10位,得到页号为2,则查找页表可知物理块号为4,所以物理地址是0100101100
序列的“中值记录”指的是:如果将此序列排序后,它是第n/2个记录。试写出一个求中值记录的算法。
设某计算机有四个中断源,优先顺序按1→2→3→4降序排列,若1、2、3、4中断源的服务程序中对应的屏蔽字分别为1110、0100、0110、1111,试写出这四个中断源的中断处理次序(按降序排列)。若四个中断源同时有中断请求,画出CPU执行程序的轨迹。
随机试题
西方学者菲德勒1962年提出了一个“有效领导的权变模型”,即菲德勒模型。他认为:在最有利和最不利的情境下,宜采用的领导方式是开放型领导方式。()
《苦恼》将人与人和人与马的关系做了对比,反映人际关系的冷漠。()
A.腰穿放脑脊液降颅压B.静脉点滴甘露醇降颅压C.冬眠低温治疗降颅压D.肾上腺皮质激素降颅压E.侧脑室穿刺引流降颅压
A.腹穿出不凝血B.腹透膈下有游离气体C.腹腔液淀粉酶增加D.腹穿有胆汁样液体E.腹穿出尿液肝破裂
慢性肾衰竭出现心血管系统疾病,不包括以下选项中的
下列项目中,通过“应付股利”科目核算的是()。
李克强总理在2015年政府工作报告中提出要制定“互联网+”行动计划。关于“互联网+”,下列说法错误的是:
常见的摘要算法有消息摘要4算法MD4、消息摘要5算法MD5和______。
Whoisthecreatorandagreatmasterofthehistoricalnovel?
Ifitisyourfirsttimesigningin,youwill(ask)________toenteryourcontactinformation.
最新回复
(
0
)