首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。 假设有如下的一段代码: int flag L22; /*flag数组,初始化为FALSE*/
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。 假设有如下的一段代码: int flag L22; /*flag数组,初始化为FALSE*/
admin
2017-04-28
41
问题
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。
假设有如下的一段代码:
int flag L22; /*flag数组,初始化为FALSE*/
Enter_Critical_Section (int my_thread_id) rint other thread_id)
{
while (flag[other thread_idl==TRUE); /*空循环语句*/
flag Emy_thread_id]=TRUE:
}
Exit_Critical_Section (int my_thread_id) tint other_thread_id)
{
flag[my_thread id] =FALSE;
}
当一个线程想要访问临界资源时,就调用上述的这两个函数。比如,线程O的代码可能是
这样的:
FJnter_Cri tical_Sect.ion(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_Critical_Section()函数,并立即对flag[]进行修改,使flagLul和flag[1]的值都为TRUE;又因为无法保证Enter_Critical_Section()函数执行的原子性,导致了两个进程在停止while()语句的条件判断上,发生死锁。
解析
转载请注明原文地址:https://jikaoti.com/ti/NBfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述美苏争霸的三个阶段,并分析其影响与教训。
上海机器织布局
下列选项中,对东汉度田问题的描述中,不正确的是()
洋务派创办军事工业的方式是()。
周人重视婚姻,对婚礼尤为讲究。周代的婚礼有六项程序,即:①纳征②问名③纳采④请期⑤亲迎⑥纳吉下列选项顺序排列正确的是()
明朝中叶,美洲高产的农作物()的传入,对改变当时人们的食品结构产生了重大影响。
某机采用计数器定时查询方式来进行总线判优控制,共有4个主设备竞争总线使用权,当汁数器初值恒为102时,4个主设备的优先级顺序为()。
在一个8级中断的系统中,硬件中断响应从高到低的优先顺序是1→2→3→4→5→6→7→8,通过中断屏蔽技术,将中断处理优先顺序设置为1→3→5→7→2→4→6→8,如果CPU在执行一个应用程序时有5、6、7、8级的四个中断同时到达,CPU在按优先顺序处理到第
随机试题
(2008年第61题)患者,男,50岁。2个月前,因急性前壁心肌梗死入院,经行左前降支内药物支架植入后,住院7天出院。此后患者无任何症状,服用药物1个月后自行停用。2小时前在睡眠中再次发生剧烈胸痛,ECG证实为急性前壁再发心肌梗死。该患者本次再梗的最可能原
解热镇痛抗炎药的作用不包括
A.流行性乙型脑炎B.布鲁氏菌病C.猪繁殖与呼吸综合征D.猪瘟E.猪细小病毒病夏季,某母猪群发生流产,产死胎或木乃伊胎,公猪出现睾丸炎或睾丸一侧性肿大,分离的病原具有血凝特性,该病可能是
A、本经配穴B、表里经配穴C、上下配穴D、前后配穴E、左右配穴申脉配后溪属
背景资料:某施工单位承接了12km的山区二级公路工程项目,其中包含一座长100m的双车道隧道。隧道起止桩号为K5+640~K5+750,隧道围岩为砂岩,岩体完整,呈块状整体,进出口岩石裸露。隧道采用传统矿山法施工。隧道洞口段路面采用水泥混凝土路面,路面
下列各项中,企业在选择商品化会计软件时必须考虑的包括()。
尽职调查通常分为法律、财务、业务三部分。下列不属于法律尽职调查关注的重点问题的是()。
【玛雅历】
下列关于我国国家结构形式的表述,正确的有()。
在以下协议中,哪些属于组播管理协议?()
最新回复
(
0
)