首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2];/*flag数组,初始化为FALSE*/
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2];/*flag数组,初始化为FALSE*/
admin
2014-04-17
37
问题
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码:
int flag[2];/*flag数组,初始化为FALSE*/
Enter_critical_section(int my_thread_id),int other_thread_id)
while (flag[other_thread-id]=TRuE); /*空循环语句*/
flag[my_thread_id]=TRUE;
}
Exit_Critical_Seetion(int my_thread_id),int other_thread_id)
{
flag[my_thread_id]=FALSE;
}
当一个线程想要访问临界资源时,就调用上述的这两个函数。例如,线程0的代码可能是这样的:
Enter_Critical_Section(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/5ixi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列各项不属于中共七届二中全会的内容的是()。
下列对春秋时期各国称霸的顺序描述错误的选项是()
埃及巴达里文化、涅伽达文化Ⅰ、涅伽达文化Ⅱ三个阶段属于什么时代的文化?()
明治维新时期的土地改革,说法不正确的是()。
正式审议和通过了《关于建国以来党的若干历史问题的决议》,标志着党在指导思想上拨乱反正的历史任务的完成的会议是()。
利玛窦与徐光启合作翻译的(),介绍了曾经流行于欧洲的欧几里得平面几何的系统理论,大大地丰富了中国古代几何学的内容。
17世纪英国资产阶级革命中,曾利用了古老文件同专制王权作斗争。这一古老文件是()
下列描述中,属于冯.诺依曼体系结构的特点是()。①采用流水线技术;②指令和数据均以二进制表示;③存储程序并且存储时不区别数据和指令。
以数组Data[m+1]作为循环队列SQ的存储空间,front为头指针,rear为队尾指针,则执行出队操作的语句是()。
若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其层次序列为()。
随机试题
Sofar,wehaven’thadanyevidence________thisdrugiseffective.
桑白皮除具有泻肺平喘的功效外,还可
心脏超声检查最常用的探头是
患者咳嗽痰少,痰中带血或反复咳血,血色鲜红,口干咽燥,颧红,潮热盗汗,舌质红,脉细数。其治法是
根据国际惯例,全过程咨询服务应包括的工作内容,以下哪项是全面的?Ⅰ.项目建议书;Ⅱ.可行性研究报告;Ⅲ.工程设计;Ⅳ.工程监理;Ⅴ.工程管理
投资活动流出的现金主要包括的内容有( )。
国土资源部办公厅关于调整“国土资源部矿业权”申请审批相关文件报送方式的函国土资厅函〔2014〕644号各省、自治区、直辖市国土资源主管部门:为_______国土资源部与省
基于图书表、读者和借阅表三个数据库表,它们的结构如下:图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借
【B1】【B16】
Ifyouweresupposedtobeatmyhouseat6:00p.m.fordinner,butyoucameat8:00p.m.,wewould【B1】______thinkyouwere
最新回复
(
0
)