首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。 假设有如下的一段代码: int flag L22; /*flag数组,初始化为FALSE*/
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。 假设有如下的一段代码: int flag L22; /*flag数组,初始化为FALSE*/
admin
2017-04-28
60
问题
假设有一个进程拥有两个线程(编号为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);
……做其他的事情……
试问:
以上的这种机制能够实现资源互斥访问吗?为什么?
选项
答案
这种机制不能实现资源的互斥访问。 考虑如下的情形: 1)初始化的时候,flag数组的两个元素值均为FALSE。 2)线程0先执行,在执行while循环语句的时候,由于flag[1]=FALSE,所以顺利结束,不会被卡住。假设这个时候来了一个时钟中断,则打断它的运行。 3)线程1去执行,在执行while循环语句的时候,由于flag[0]=FALSE,所以顺利结束,不会被卡住,然后就进入了临界区。 4)后来当线程0再执行的时候,也进入了临界区,这样就同时有两个线程在临界区。 不能成功的根本原因是无法保证Enter_Critical_Section()函数执行的原子性,从上面的软件实现方法中可以看出,对于两个进程间的互斥,最主要的问题就是标志的检查和修改不能作为一个整体来执行,因此容易导致无法保证互斥访问。
解析
转载请注明原文地址:https://kaotiyun.com/show/TPRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
苏台德问题
以下内容不属于中国共产党为解决中西部落后问题,巩固发展国防事业而采取的三线建设的是()。
利玛窦与徐光启合作翻译的(),介绍了曾经流行于欧洲的欧几里得平面几何的系统理论,大大地丰富了中国古代几何学的内容。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
以下选项不属于希腊城邦的形成方式和途径的是()。
鸦片战争中,林则徐被革职查办反映的问题是()。
克里特文明的文字类型是()。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
改革开放以来,乡镇企业的异军突起,其重要意义包括()①改变了公有制经济的主体地位②推动了农村产业结构的现代化进程③加快了农村的现代化进程④开辟了农民致富的新途径
1947年,刘邓大军千里跃进大别山,揭开了战略反攻的序幕。据此回答问题:中共中央将战略决战的方向首先指向的是()
随机试题
求微分方程y〞+2yˊ+y=0满足初始条件y(0)=4和yˊ(0)=-2的特解。
下列属于周围性瘫痪临床特点的是
刑事处罚中不能单独行使的有( )。
保本基金的分析指标主要包括()。
使投资方案净收益为零的贴现率,称为()。
2001年全国人大常委会作出解释:《刑法》第410条规定的“非法批准征用、占用地”,是指非法批准征用、占用耕地、林地等农用地以及其他土地。对该法律解释,下列哪一种理解是错误的?()
无论运动量大小运动后均能引起超量恢复。( )
新世纪新阶段民族工作的主题是
IIS安装的硬盘分区最好选用NTFS格式,是因为(1)。①可以使用操作系统的文件加密系统(EFS)对文件或文件夹进行加密②可以针对某个文件或文件夹给不同的用户分配不同的权限③可以防止网页中的Applet程序访问硬盘中的文件④
A、OK,Iwill.B、OK,Iam.C、OK,Ido.D、OK,Idid.A本题考查对Could引导的提出请求的一般疑问句的回答。对于此类问题的回答分为肯定和否定两种:肯定回答一般为Yes,ofcourse/Certainly
最新回复
(
0
)