首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
试问下列同时运行多个进程Pi,可能会出现的错误是( )。 Pi(){ Lock(m mutex); //含义为获取互斥信号量 a=new int[100]; //开辟一个大小为100的整型数组空间, //并用全局指
试问下列同时运行多个进程Pi,可能会出现的错误是( )。 Pi(){ Lock(m mutex); //含义为获取互斥信号量 a=new int[100]; //开辟一个大小为100的整型数组空间, //并用全局指
admin
2019-07-18
109
问题
试问下列同时运行多个进程Pi,可能会出现的错误是( )。
Pi(){
Lock(m mutex); //含义为获取互斥信号量
a=new int[100]; //开辟一个大小为100的整型数组空间,
//并用全局指针变量a保存空间地址
UnLock(m_mutex);
free(a); //释放数组空间,且a的值不改变
}
有多个优先级相同的进程Pi。
选项
A、内存泄露
B、内存越界访问
C、内存泄露和内存越界访问
D、无
答案
C
解析
由于a为全局指针变量,即属于临界资源,访问a的代码都属于临界区,临界区应该在Lock(m mutex)和UnLock(m mutex)之间,使各个进程互斥访问a。但由于本题free(a)在Lock(m mutex)和UnLock(m mutex)之外,因此是会出现错误的。
举例:假设有进程P1和P2,P1进程申请的数组空间地址赋给a之后,还没有free掉。P2进程又申请了新的数组空间又把地址赋给a,导致P1进程申请的空间地址丢失(即内存泄露)。然后P1进程继续执行,P1进程执行free操作,将P2进程中请的空间释放掉了,P2进程继续执行,P2进程执行free操作,free操作访问了不属于P2进程的空间(之前已经被P1释放掉了),会发生内存越界访问。
知识点扩展 内存泄露:当以前分配的一片内存不再需要使用或无法访问时,但是并没有释放它,那么对于该进程来说,会因此导致总可用内存的减少,这时就出现了内存泄漏。
内存越界访问:简单地说,进程访问了不属于该进程的内存空间。
转载请注明原文地址:https://kaotiyun.com/show/vPCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列关于《凡尔赛和约》的说法,全部错误的是()。①《凡尔赛和约》中不许德国设防区是莱茵河西岸50公里以内区域②《凡尔赛和约》中,战胜国处置德国的全部海外殖民地的方式是“托管制”③和约有关德国疆界问题,把原属波兰的领上基本上归还波兰④
第一次国共合作采取了共产党员以个人身份加入国民党的“党内合作”方式。最早提出这种方式的是()。
16世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
1973年,美元再次贬值,西欧、日本等宣布不再承担维持美元汇率的义务,以美元为中心的资本主义世界货币体系崩溃,它所反映的实质问题是()
唐朝时。从中国传到大食的手工技术是()。
西周的官僚制度已经相当完备,官僚机构庞杂,职官名目繁多。周王室的官僚机构分为两大系统,分别是()。
设某计算机系统有一块CPU、一台输入设备、一台打印机。现有两个进程同时进入就绪状态,且进程A先得到CPU运行,进程B后运行。进程A的运行轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms,结束。进程B的运行轨迹为:计算50
在下列查找的方法中,平均查找长度与结点个数n无关的查找方法是()。
某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:假定int类型数据用32位补码表示,程序
某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:假定int类型数据用32位补码表示,程序
随机试题
________comesbackfirstissupposedtowintheprize.
需要骨髓铁染色进行鉴别诊断的是
A.副作用B.毒性作用C.过敏反应D.二重感染E.后遗效应猪长期使用乙酰甲喹后,可引起肝、肾损害,此作用属于
关于牙髓钙化,说法错误的是
根据海洋法的规定,沿海国在一定情况下行使紧追权。下列行使紧追权的行为哪个是符合规则的?
民事主体对智力成果依法享有的专有权利是( )。( )是财产权的对称。
关于利用网络计划中工作自由时差的说法,正确的是()。
页框控件也称作选项卡控件,在一个页框中可以有多个页面,页面个数的属性是
以下程序的执行结果为______。#include<iostream>usingnamespacestd;classbase{public:virtualvoidwho(){
Lookattheofficeplanbelow.Forquestions6-10,decidewhodoesthesejobs.Foreachquestion,markoneletter(A-H)onyour
最新回复
(
0
)