通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"考研真题" 试卷中 2023年考研408计算机统考真题在线评测(附答案) 中有题目如下:
第1题
(7分)采用swap 指今实现进程互斥。lock为TRUE时,不可进入临界区; lock 为FALSE 时,可以进入临界区。某学生写的代码如下:
bool lock = FAlSE;//共享变量 ...... // 进入区 bool key = TRUE; if (key == TRUE) swap (key,lock); // 临界区 ...... // 退出区 lock=TRUE; ......
newSwap (boola, bool *b){ bool temp =*a; *a=*b; *b=temp; }
(1)请修改代码,正确实现互斥(不增加语句条数)
(2)是否可以用函数newSwap(&a&b)代替swap 指令?为什么?
[参考答案]
(1)修改进入区代码: if (key == TRUE) 改为 while (key == TRUE)(2分)
修改退出区代码:lock=TRUE; 改为 lock=FALSE;(2分)
(2)不可以代替swap指令。(1分)
因为 newSwap函数的执行不具备原子性,执行newSwap 的过程中,可能会切换为其他线程,从而导致无法正确实现线程互斥。(2分)
所属试卷:2023年考研408计算机统考真题在线评测(附答案)
假定MyClass为一个类,那么下列的函数说明中,
按照标识符的要求,下列选项中,符号不能组成标识符。
请编写函数fun,该函数的功能是:移动一维数组中的
绐定程序MODI1.C中函数fun的功能是:从低位开始
在医院,每个医生只属于某一个诊疗科,医生同一天可为多位
有以下程序:程序运行后的输出结果是( )。
设p是指针变量,语句p = NULL;等价于( )。
有以下程序:程序的运行结果是。
有以下程序(注:字符a的ASCII码值为97):程序运
程序阅读题1、2、#include<iostream>
定义一个矩阵类(Matrix),设计相关的构造函数、析
#编写函数,求任意整数的二进制形式中最后连续0的个数。
当a=3,b=2,c=1时,表达式f=a>b>c的值是
下面程序的运行结果________。
有以下程序 程序运营后的输出结果是
若下达rmdir命令来删除某个已存在的目录,但无法成功
usermod命令无法实现的操作是( )
用 "rm -i",系统会提示什么来让你确认( )
从关系规范化理论的角度讲,一个只满足1NF的关系可能存
在MySQL中,表达式3 mod 2的值是( )。
什么是黑盒测试法?[答案解析]黑盒测试法把程序看成一个
假设所有变量都为整型,表达式(a=2,b=5,a>b?
下面程序是从键盘输入4位正整数,输入0或负数时结束循环
设o=1,p=2,q=3,则逻辑表达式!(o<p)||
C语言中的字符变量用保留字_____来说明。
从( )年开始,NOIP竞赛将不再支持Pascal语言
(打印月历)输入月份 m(1≤m≤12),按一定格式打
一个正整数在十六进制下有 100 位,则它在二进制下可
( 大整数开方 ) 输入一个正整数 n(1≤n≤101
输入: 9 3 9 4输出: ____________
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2