首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
33
问题
假设有一个进程拥有两个线程(编号为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
学硕统考专业
相关试题推荐
在第二次鸦片战争中,英国割占的中国领土是()。
1934年9月苏联加入国联,对此说法错误的一项是()。
二战后期,反法西斯同盟国召开了一系列会议、达成了一系列协议,以解决战后世界的安排问题,这些会议中以()最为重要,所以,我们将二战后的国际关系格局称为()。
匈牙利社会主义革命中,之所以能顺利建立苏维埃社会主义共和国的主要原因是()。
首次提出“长期共存,互相监督”观念的是在文件()中。
乾隆时期,明确规定了驻藏大臣的地位与达赖班禅同等,并实行“金瓶掣签”制度的文件是()。
阅读材料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合理解决,
佛教在从印度向外传播的过程中分为两大流派,其中小乘佛教又称为()。
五四运动后,马克思主义在中国广泛传播。1920年在上海出版了最早的《共产党宣言》中文全译本,译者是()
宋代至清代我国书籍印刷的主要方式是()
随机试题
下列哪种阴道肿瘤不属于良性肿瘤?
GU—AG规则所描述的共有序列存在于
(2014年第34题)在嘧啶合成途径中,合成CTP的直接前体是
涨价预备费估算以下面()之和作为计算基数。
深水摄像机
利用内部资金转移定价核算资金收益或成本时,对负债而言是收益,对资产而言是成本。()
党的十九大报告指出,从2035年到21世纪中叶,在基本实现现代化的基础上,再奋斗15年,把我国建成富强民主文明和谐()的社会主义现代化强国。
文艺复兴时期,最流行的弹拨乐器是_________;弓弦乐器古提琴家族的_________已出现;_________在教堂音乐中运用得较为普遍。
Whatdoesthemanwanttobuy?
Whenwewantto【C1】______otherpeoplewhatwethink,wecandoitnotonlywiththehelpofwords,butalsoinmany【C2】______way
最新回复
(
0
)