首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
67
问题
假设有一个进程拥有两个线程(编号为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
学硕统考专业
相关试题推荐
在第二次鸦片战争中,英国割占的中国领土是()。
以下选项不属于希腊城邦的形成方式和途径的是()。
1925年爆发的当时世界上罢工时间最长的一次斗争是()。
下列哪个文件标志着“文化大革命”的发起?()
20世纪50年代到70年代初,西欧国家通过有效的社会经济政策,维持了经济相对稳定和持续发展。这些政策主要包括()①加强对经济的宏观管理②废除生产关系中封建落后因素③发展高科技和新兴产业④进行社会改革,稳定社会
完整地表述电磁场理论的物理学家是()。
世界天文史上最早实地测量子午线的记录是由谁进行的?()
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
Demandpaging算法是paging算法在虚拟存储空间管理的扩展。其主要的改进是:仅当需要访问某页面时,如果它不在内存,把它调入内存。按照这个思路,将segmentation算法(段式存储管理算法)扩展到虚拟存储空间管理,也可以产生类似的算法,不妨
系统中有5个进程,每个进程的运行时间(单位:ms)、优先级和到达时刻,如下表所示:请给出当系统分别采用时间片轮转算法(时间片为Ires)、不可抢占优先级调度算法和抢占式优先级调度算法时,各进程的执行情况。
随机试题
利用分度头可在工件上划出圆的等分线或不等分线。()
病变的定位应考虑该病人的治疗原则是
立柱式X线管头支持装置的组成不包括
《航道建设管理规定》第四十二条规定县级以上交通主管部门应当建立工程质量和安全事故举报制度。任何单位和个人发现()等应当向有关主管部门举报。
创新过程的交互作用模型表明()。
假设我国某商业银行是一家系统重要性银行,2015年末,该银行的部分业务及监管指标如下:不良贷款余额为900亿元,不良贷款为1.5%;对最大一家客户贷款总额与资本净额之比为12%;流动性资产与流动性负债之比为30%;成本收入之比为25%。请根据上述材料,
环境创设是幼儿园教育中的重要内容,广大的幼教工作者也对环境创设有不同的看法,以下是两位老师关于环境创设的对话。李老师:其实环境创设很简单,就是买一些材料摆一摆、贴一贴就行。王老师:对啊,环境创设不就是我们老师自己把房间布置一下嘛,重点也就是考察我
()是行政组织的主体,是行政组织活的灵魂。
Inorderto"changelivesforthebetter"andreduce"dependency,"GeorgeOsborne,ChancelloroftheExchequer,introducedthe
TheimprobablechainofeventsthatleadsAlexanderFleming1.______todiscoverpenicillinin1928isthestuffwhichs
最新回复
(
0
)