首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
75
问题
假设有一个进程拥有两个线程(编号为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
学硕统考专业
相关试题推荐
关于“尊王攘夷”运动,不正确的说法是()。
使用天然火最早出现于人类发展过程的哪一阶段?()
罗马帝国疆域扩张到顶点是在()统治时期。
十字军东征的目标是解放圣地()。
赋税是我国古代国家宏观管理经济的重要手段。 据此回答问题:哪位皇帝的即位首次应用了秘密立储制?()
1945年,联合国成立之时,创始会员国共有()个国家。
古埃及第24朝法老波克利斯进行改革,宣布废除奴隶制,债权人只能索取债务人的财产作抵偿,而不能占有债务人的人身,因为财产属于个人,而公民人身属于国家,国家需要他们服役。该改革旨在
将要相互通信双方怎样进行建立TCP连接?在TCP报文段的首部中只有端口号而没有IP地址,当TCP将其报文段交给IP层时,IP协议怎样知道目的IP地址呢?为什么把IP地址又称为“虚拟地址”,把TCP连接说成是“虚连接”?假设在建立连接时使用2次握手而非3次握
在协议数据单元中,控制信息所不包括的内容是()。
TCP/IP网络中,某主机的IP地址为130.25.3.135,子网掩码为255.255.255.192,那么该主机所在的子网的网络地址是()。
随机试题
A.预防为主B.预防为主、常备不懈C.统一领导、分级负责D.统一领导、统一指挥E.调查、控制和医疗救治
A.癌细胞团中可见角化珠B.癌细胞团漂浮在黏液中C.黏液将癌细胞核推向一侧D.癌细胞排列成条索状鳞状细胞癌的组织学表现是
A.吸潮B.晶型转变C.水解D.氧化E.风化苷类药物易()。
休克必须采用综合治疗,其治疗措施有哪些?
根据《建筑法》的要求,实行施工总承包的,施工现场的安全生产管理应符合的要求包括()。
节点是网络图中箭线之间的连接点。在时间上节点表示指向某节点的工作全部完成后该节点后面的工作才能开始的瞬间,它反映前后工作的交接点。网络图中的三类节点分别是:起点节点、终点节点和( )。
偿债备付率低,说明偿付债务本息的资金不充足,偿债风险大。当年资金来源不足以偿付当期债务时,常常表现为偿债备付率()。
下列依次填入各句横线处的成语,最正确的一组是()。(1)黄老师的教学语言诙谐幽默,妙趣横生,常常逗得大家______。(2)安全检查工作非常重要,要______,不应麻痹大意,一旦出了事故,后悔也就来不及了。
A.soplentifulB.showeredwithC.exchangeringsPhrases:A.thebrideandgroomoften【T1】______B.wherethefoodis【T2】____
在数据库管理系统的层次结构中,数据存取层处理的对象是()。
最新回复
(
0
)