通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"考研真题" 试卷中 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计算机统考真题在线评测(附答案)
下列给定程序中,是建立一个带头结点的单向链表,并用随机
若有定义:以下选项中对a数组元素正确引用的是( )。
有以下程序:程序的运行情况是( )。
以下叙述中错误的是。
编程实现小型公司的工资管理。该公司主要有4类人员:经理
正确的结果是。
已知path =r'c:\test.html',那么表
在函数内部可以通过关键字___________来定义全
字典对象的________方法返回字典中的“键-值对”
表达式‘Hello word’.lower的值为_
假设有如下代码:缺不能使float类型变量k得到正确数
设有一联合体变量定义如下:执行下列语句后,正确的联合体
修改以太网mac地址的命令为。
将光盘/dev/hdc卸载的命令。答:umount/d
用 "rm -i",系统会提示什么来让你确认( )
如果一个关系中每个属性都是不可再分的,则该关系属于__
SQL语言中,用于事务回滚的语句是 ______ 。
在一个以Head为头指针的单循环链表中,p指针指向尾指
在下述结论中,正确的是
2023年CSP-S1阅读程序题2:假设输入的n是不超
预处理命令行都必须以_____号开始。
如果需要打开一个已经存在的非空文件"FILE"并进行修
有以下程序程序的运行结果是
下图中所使用的数据结构是( )。
输入:1 1000 10 15输出:________
输入:4 61 2 102 3 203 4 304 1
在使用高级语言编写程序时,一般提到的“空间复杂度”中的
无向图 G 有 7 个顶点,若不存在奇数条边构成的简单
在参加 NOI系列竞赛过程中,下面哪些行为是被严格禁止
(连续邮资问题)某国发行了 n 种不同面值的邮票,并规
更多选择题
更多填空题
计算机二级Python语言程序设计模拟试卷
Python第三方库
2025年考研408计算机统考真题在线评测(附答案)
Python标准库
Python函数
Python文件
Python组合数据类型