首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。 假设有如下的一段代码: int flag L22; /*flag数组,初始化为FALSE*/
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。 假设有如下的一段代码: int flag L22; /*flag数组,初始化为FALSE*/
admin
2017-04-28
62
问题
假设有一个进程拥有两个线程(编号为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);
……做其他的事情……
试问:
如果把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[]进行修改,使flagLul和flag[1]的值都为TRUE;又因为无法保证Enter_Critical_Section()函数执行的原子性,导致了两个进程在停止while()语句的条件判断上,发生死锁。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/UPRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
分析父系氏族公社的经济生活和社会组织。
战后列强围绕中国问题产生的矛盾及其表现。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
新石器时代的房屋建筑根据环境的不同形成了不同的类型,()地区多为干栏式建筑。
30年代,美国政府对一系列国际问题执行中立政策,最主要的原因是()。
改革开放以来,乡镇企业的异军突起,其重要意义包括()①改变了公有制经济的主体地位②推动了农村产业结构的现代化进程③加快了农村的现代化进程④开辟了农民致富的新途径
改革开放以后,我国农村产业结构巨大的转变表现在()。
某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如图B-4所示。转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义见表B-1。请回答下列问题:该指令系统最多可有多少条指令?该计算机最多有
当系统发生抖动(thrashing)时,可以采取的有效措施是____。I.撤销部分进程Ⅱ.增加磁盘交换区的容量Ⅲ.提高用户进程的优先级
随机试题
阅读下面的文章,回答问题寂寞荀子一荀子很寂寞,也很无奈,从他那荒凉的陵墓可以看得出来。小时候常去外婆家,每次去外婆家的路上必在
唐代以意境朦胧、含蓄多情的“无题诗”著称的诗人是()
产妇25岁,39周妊娠,产前检查无异常发现。临产9小时,宫口开全1小时,羊膜囊突,行人工破膜术。破膜后产妇突然出现烦躁不安,胸闷、呛咳、呼吸困难、发绀,血压为0。数分钟后死亡。下列哪项不是该病的病理生理变化
显示视神经孔的摄影体位是
男,50岁。肥胖,2型糖尿病5年,口服二甲双胍250mg,3次/日。5个月前因外伤发生左足溃疡至今未愈。空腹血糖7.2mmol/L,三餐后血糖分别为9.2mmol/L,8.7mmol/L和8.6mmol/L。控制糖尿病的最佳治疗方案应选择
中国药典(2000年版)规定测定尼可刹米注射液的方法非水滴定法测定盐酸氯丙嗪的含量计算式
(2016年)要获得收取股利的权利,投资者购买股票的最迟日期是()。
虽然普遍的猜想认为地表以下深层的地方太热以致微生物不可能存活,一些科学家还是争辩说地表深处存在着与地表生物隔绝了数百万年的活的微生物群体。他们的观点的根据是从1.74英里深的钻洞里取出的样本物质中发现了活着的微生物。科学家的论述依据下面哪个假设?
在Internet上有许多协议,下面的选项中能正确表示协议层次关系的是(12)。
ThisisthelastplacewhereIexpectedtomeetyou.
最新回复
(
0
)