首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
35
问题
假设有一个进程拥有两个线程(编号为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://jikaoti.com/ti/vtfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
在第二次鸦片战争中,英国割占的中国领土是()。
1994年5月,江泽民在进一步强调正确处理改革、发展、稳定的关系时指出()。
元朝在中央设置中书省、地方则设置行中书省,其目的是()。
1543年发表解剖学专著《人体结构论》的是()。
“两个凡是”
改革开放以后,我国农村产业结构巨大的转变表现在()。
年鉴学派开创了总体史研究方法,其代表人物马克·布洛赫研究中世纪的代表作是()
设磁盘的扇区大小为4KB,磁盘转速为15000r/min,磁盘平均寻道时间为4ms,最大数据传输速率为40MB/s,磁盘控制器开销时问为1ms,计算读写一个扇区所需平均时间(不考虑I/O请求队列中的等待时间)。
已知一组关键字为(26,36,41,38,44,15,68,12,6,51,25),用链地址法解决冲突。假设装填因子a=0.75,散列函数的形式为H(K)=KMODP,回答下列问题:(1)构造散列函数。(2)画出散列表。(
有5个中断源D1、D2、D3、D4和D5,它们的中断优先级从高到低分别是1级、2级、3级、4级和5级。这些中断源的中断优先级,正常情况下的中断屏蔽码和改变后的中断屏蔽码如表3—3所示。每个中断源有5位中断屏蔽码,“O”表示该中断开放,“1”表示该中断被屏蔽
随机试题
房间隔缺损时,负荷增大见于
某年级学生参加数学小组的有30人,参加语文小组的有40人,有10人只参加数学小组,10人两个小组都未参加,则该年级共有学生()人。
下述哪些征象支持卵巢囊性畸胎瘤韵诊断
某跨年度项目的合同总收入10000万元,预计合同成本8500万元,资产负债表日,以前会计年度累计已确定的收入为6000万元。该工程现已完成工程进度的80%,则当期应确定的合同收入为( )万元。
狭义的投资银行业的范围包括()。
对于那些打算持有债券到期的投资者来说,()。[2015年3月证券真题]
通过创设问题情境使学生提出假设,然后验证假设并做出结论的教学策略是情境教学。()
血液中的高浓度脂肪蛋白含量的增多,会增加人体阻止吸收过多的胆固醇的能力,从而降低血液中的胆固醇。有些人通过有规律的体育锻炼和减肥,能明显地增加血液中高浓度脂肪蛋白的含量。以下哪项,作为结论从上述题干中推出最为恰当?
攻击者无需伪造数据包中IP地址就可以实施的攻击是()。
Giventhechoicebetweenspendinganeveningwithfriendsandtakingextratimeforhisschoolwork,AndyKliseadmitshewouldp
最新回复
(
0
)