首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
Pi(){ Lock(m_mutex); //含义为获取互斥信号量 a=new int[100]; //开辟一个大小为100的整型数组空间, //并用全局指针变量a保存空间地址 UnLock (m_mutex); free (a); //
Pi(){ Lock(m_mutex); //含义为获取互斥信号量 a=new int[100]; //开辟一个大小为100的整型数组空间, //并用全局指针变量a保存空间地址 UnLock (m_mutex); free (a); //
admin
2017-04-28
51
问题
Pi(){
Lock(m_mutex); //含义为获取互斥信号量
a=new int[100]; //开辟一个大小为100的整型数组空间,
//并用全局指针变量a保存空间地址
UnLock (m_mutex);
free (a); //释放数组空间,且a的值不改变
}
有多个优先级相同的进程Pi。试问下列同时运行多个进程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,Pl进程申请的数组空间地址赋给a之后,还没有free掉。P2进程又申请了新的数组空间又把地址赋给a,导致Pl进程申请的空间地址丢失(即内存泄露)。然后P1进程继续执行,P1进程执行free操作,将P2进程申请的空间释放掉了,P2进程继续执行,P2进程执行free操作,free操作访问了不属于P2进程的空间(之前已经被P1释放掉了),会发生内存越界访问。
知识点扩展:
内存泄露:当以前分配的一片内存不再需要使用或无法访问时,但是并没有释放它,那么对于该进程来说,会因此导致总可用内存的减少,这时就出现了内存泄漏。
内存越界访问:简单地说,进程访问了不属于该进程的内存空间。
转载请注明原文地址:https://kaotiyun.com/show/vHRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试比较南斯拉夫、苏联、匈牙利的经济发展模式。
简述弭兵之会的背景、过程和结果。
苏台德问题
1923年纳粹党魁希特勒发动了“啤酒馆暴动”,对此叙述不正确的一项是()。
规定了电流、电动势、电阻等概念的物理学家是()。
唐朝官营手工业中,每年服役二十天,在政府“趋役不尽及别有和雇”的情况下,可“纳资代役”的是()。
第三世界所共有的特征及崛起的标志是什么?
佛教向亚洲国家传播始于印度的哪个时代?()
1922年2月,美、英、法、意、日五国通过了《五国海军条约》,规定了各国海军主力舰和航空母舰的限额,以及在东亚设置海军基地的要求等内容。该条约的缔结表明()
对图B-2进行拓扑排序,可以得到不同的拓扑序列的个数是____。
随机试题
IwishI________tothepartywithyou,butIhadtofinishmypapers.
PASSAGETWO(1)Inthequesttofendoffforgetfulness,somepeoplebuildapalaceofmemory.It’samethodformemorizingin
划分计算机发展阶段所依据的基本器件主要属于_______。
男,36岁。便血2年,初为排便后有少量鲜血滴出,无痛,便后出血自行停止,近半年来偶有块状物自肛门脱出,便后自行回缩,最可能的诊断是
化脓性中央性颌骨骨髓炎绝大多数发生于下颌骨,其原因是()
下列哪项是轻度小儿代谢性酸中毒的主要临床表现之一()
某社会团体欲为被诉侵犯著作权的小李推荐公民担任小李的诉讼代理人,为了能够使该社会团体为小李推荐诉讼代理人,该社会团体应当满足的条件是:()
按照《上市公司证券发行管理办法》的有关规定,上市公司申请发行新股,其财务状况良好,最近3年以现金或股票方式累计分配的利润不少于()。
最早提出班级授课制理论的教育家是()。
下列说法不正确的是()。
最新回复
(
0
)