首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
29
问题
假设有一个进程拥有两个线程(编号为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
学硕统考专业
相关试题推荐
利玛窦与徐光启合作翻译的(),介绍了曾经流行于欧洲的欧几里得平面几何的系统理论,大大地丰富了中国古代几何学的内容。
1923年纳粹党魁希特勒发动了“啤酒馆暴动”,对此叙述不正确的一项是()。
汉章帝会群儒于白虎观,讨论经义,由()写成《白虎通德论》(又称《白虎通义》、《白虎通》)一书,这部书系统地吸收了阴阳五行和谶纬之学,形成今文经学派的主要观点。
1947年,苏联一些农村的干部和群众,为了调动广大群众生产积极性,在管理制度方面进行改革,其主要措施是()。
戈尔巴乔夫上台后,在和平共处五项原则基础上,推动苏中关系正常化,这一做法主要表明了()。
17世纪英国资产阶级革命中,曾利用了古老文件同专制王权作斗争。这一古老文件是()
1870年普鲁士军队侵人巴黎,法国人民组织国民自卫军誓保卫巴黎,参加国民自卫军的大部分是()。
某系统中n个相互独立的生产者进程为一个消费者进程提供数据,假设每个生产者提供的数据写入各不相同的缓冲区,且生产者写缓冲区的速度比消费者读缓冲区的速度快,则缓冲区个数的最优值应为()。
在一个8级中断的系统中,硬件中断响应从高到低的优先顺序是1→2→3→4→5→6→7→8,通过中断屏蔽技术,将中断处理优先顺序设置为1→3→5→7→2→4→6→8,如果CPU在执行一个应用程序时有5、6、7、8级的四个中断同时到达,CPU在按优先顺序处理到第
有5个中断源D1、D2、D3、D4和D5,它们的中断优先级从高到低分别是1级、2级、3级、4级和5级。这些中断源的中断优先级,正常情况下的中断屏蔽码和改变后的中断屏蔽码如表3—3所示。每个中断源有5位中断屏蔽码,“O”表示该中断开放,“1”表示该中断被屏蔽
随机试题
“四个全面”战略是:
___________入侵监测系统对加密通信无能为力。
皮肤黏膜的游离神经末梢属于迷走神经在减压反射中属于
A.使精子获能B.润滑尿道C.参与精子活动和代谢D.为精子提供养料和能源E.促使精子成熟前列腺液的功能是
建筑电气工程安装结束后检测的重要工序是(),以判定工程是否符合规定要求,是否可以通电投入运行。
公司从银行借来一笔款项,总资产增加,资产负债率降低。()
父母或者其他监护人应当创造良好、和睦的家庭环境,依法履行对未成年人的监护职责和抚养义务。()
美国法律规定,不论是驾驶员还是乘客,坐在行驶的小汽车中必须系好安全带。有人对此持反对意见。他们的理由是,每个人都有权冒自己愿意承担的风险,只要这种风险不会给别人带来损害。因此,坐在汽车里系不系安全带,纯粹是个人的私事,正如有人愿意承担风险去炒股,有人愿意承
徐某是甲公司总经理,甲公司为其配备了一辆轿车供上下班使用。后徐某辞职,甲公司尚欠其10万元工资。徐某与甲公司多次交涉无果,欲对轿车行使留置权。关于本案,下列哪一说法是正确的?()[2018年法考真题]
A、 B、 C、 D、 C就资源管理和用户接口而言,操作系统的主要功能包括:①处理机管理:主要是解决处理器的分配和调度问题;②存储管理:主要是管理主存储器资源;③设备管理:负责有效地管
最新回复
(
0
)