首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
假设有一个进程拥有两个线程(编号为0和1)需要去访问同一个共享资源,为了避免竞争状态的问题,必须实现一种互斥机制,使得在任何时候只能有一个线程在访问这个资源。假设有如下的一段代码: int flag[2]; /*flag数组,初始化为FALSE*/ En
admin
2017-11-20
44
问题
假设有一个进程拥有两个线程(编号为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
学硕统考专业
相关试题推荐
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
中共十四届六中全会《关于加强社会主义精神文明建设若干重要问题的决议》,强调要()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
第三世界所共有的特征及崛起的标志是什么?
周王室的两大官僚系统是()。
完整地表述电磁场理论的物理学家是()。
1854年,英国外交大臣致函英国驻华公使说:“为了适应外商对农业产品已增加了的需要,新的贸易市场尚待开辟。”1856年,法国外长则指令法国驻华代办强调“商业关系的推广”,并强调“这是一个关系到至高无上权益的问题”。这说明()。
三个进程P1、P2、P3互斥使用一个包含N(N>O)个单元的缓冲区。P1每次用produce()生成一个正整数并用put()送入缓冲区某一空单元中;P2每次用getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用getev
某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间
假定某计算机的CPU主频为80MHz,CPI为4,并且平均每条指令访存1.5次,主存与cache之间交换的块大小为16B,Caehe的命中率为99%,存储器总线宽度为32位。请回答下列问题。CPU和DMA控制器同时要求使用存储器总线时,哪个优先级更高?
随机试题
A.N一氧化物B.N一羟基化合物C.环氧化物D.硫醚E.砜亚砜类药物经氧化生成()。
对于财政支出增长现象,比较有影响的有()。
俄国十二月党人起义,被历史称之为贵族革命。那是一个极其黑暗极其龌龊的时代,除了匍匐于王权靴下的草芥,任何生命都不能生长。然而,恰恰是窒息生命的统治,使自己成为一种焦灼的渴望;恰恰是腐质土的堆积,迫使一种名叫崇高的生物直立起来,以流血的方式,不顾一切地生长。
经营者集中是指两个或两个以上的企业以一定的方式或手段所形成的企业间的资产和人员的整合。下列选项中,属于经营者集中的是()。
金属货币自由铸造制度的意义在于使铸币价值与金属价值保持一致。()
阅读以下说明,回答问题1至问题4。【说明】某小公司的网络拓扑如图1.1所示。其中路由器具有ISDN模块,公司网络通过ISDN连接到ISP。
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为______。
窗体由多个部分组成,每个部分称为一个【】,大部分的窗体只有【】。
将考生文件夹下VOIUNA文件夹中的文件BOYABLE.DOC复制到同一文件夹下,并命名为SYAD.DOC。
最新回复
(
0
)