补交课下测试(ch12并发编程) 08.第八周
- 有关线程图,下面说法正确的是()
A .图的原点表示没有任何线程完成一条指令的初始状态
B .
向右向上是合法的转换
C .向左向下是合法的转换
D .对角线是合法的转换
E .一个程序执行的历史被模型化成状态空间中的一条轨迹线
F .进度图中,两个临界区的交集形成不安全区
- 有关线程图,下面说法正确的是()
正确答案: A B E F
- 下面代码对于并发程序来说逻辑上是(5)条指令?
for(i=0;i<1000; i++)
cnt++;
- 下面代码对于并发程序来说逻辑上是(5)条指令?
3
( 多选题 | 1 分)
有关多线程的说法,正确的是(A B C D E)
A
.
竞争和死锁是并发程序中出现的难题
B
.
程序员错误的假设逻辑流该如何调度时就会发生竞争
C
.
当一个逻辑流等待一个永远不会发生的事件时就会产生死锁
D
.
程序使用PV的顺序不当,可能引发死锁
E
.
利用互斥锁加锁顺序规则可以避免互斥死锁4
( 多选题 | 1 分)
下面Linux函数(C D E)是线程安全的?
A
.
rand()
B
.
ctime()
C
.
printf()
D
.
localtime_r()
E
.
scanf()5
( 多选题 | 1 分)
线程不安全函数类包括( A B C D)
A
.
不保护共享变量的函数
B
.
保持跨越多个调用的状态的函数
C
.
返回指向静态变量指针的函数
D
.
调用线程不安全函数的函数
E
.
调用可重入函数的函数6
( 多选题 | 1 分)
有关并发程序,下面说法正确的是( A D)
A
.
程序可以分为并发程序和顺序程序两类
B
.
程序可以分为并行程序和顺序程序两类
C
.
并发程序是一种特殊的并行程序
D
.
并行程序是一种特殊的并发程序7
( 多选题 | 1 分)
有关“生产者-消费者”和“读者-写者”模型,下面说法正确的是( B D)
A
.
二者除处理的都是互斥问题
B
.
二者除处理的都是同步问题
C
.
二者都要保证对缓冲区的访问是互斥的
D
.
“生产者-消费者”模型要保证对缓冲区的访问是互斥的
E
.
“读者-写者”模型要保证读者对缓冲区的访问是互斥的8
( 多选题 | 1 分)
有关使用信号量实现互斥的说法正确的是( A B D)
A
.
互斥是一种特殊的同步
B
.
使用二元信号量和PV原语可以实现互斥
C
.
对于信号量sem_t mutex;
Sem_init(&mutex, 0 , 2);把mutex初始化为二元信号量,用作互斥锁
D
.
对于共享变量volatile long cnt = 0;
for(i=0; i<ntiers; i++){
P(&mutex)
cnt++;
V(&mutex)
}
保证了对cnt的 访问是互斥的,cnt的计数是正确的
9
( 多选题 | 1 分)
有关信号量(semphore),下面说法正确的是(A B C )
A
.
信号量s是一个非负的全局变量
B
.
信号量只能通过P,V操作来处理
C
.
P,V操作确保信号量s非负
D
.
sem_post()完成P(s)的操作
E
.
sem_wait()完成V(s)的操作10
( 多选题 | 1 分)
有关下面的代码hello.c,编译后的可执行程序为phello,下面说法正确的是(B C E G)
A
.
编译命令是:gcc hello.c -o phello
B
.
编译命令是:gcc hello.c -lpthread -o phello
C
.
编译命令是:gcc hello.c -pthread -o phello
D
.
phello运行时有一个线程
E
.
phello运行时有两个线程
F
.
phello运行时主线程先执行完
G
.
phello运行时对等线程先执行完
H
.
phello运行时对等线程和主线程执行顺序不确定
11
( 多选题 | 1 分)
有关线程控制,下面说法正确的是(b.c.d.e.f)
A
.
与进程一样,线程也有父子关系
B
.
与进程控制中fork() 等价的是pthread_create()
C
.
与进程控制中exit() 等价的是pthread_exit()
D
.
与进程控制中waitpid()等价的是pthread_join()
E
.
与进程控制中kill() 等价的是pthread_cancel()
F
.
与进程控制中getpid() 等价的是pthread_self()12
( 多选题 | 1 分)
关于线程,下面说法正确的是(A.B.C.D)
A
.
线程是运行在进程中的逻辑流
B
.
每个线程有自己的线程上下文,包括TID、栈、栈指针、PC、通用寄存器和条件码
C
.
进程是程序级并发,线程是函数级并发
D
.
一个进程中的线程共享该进程的虚拟地址空间13
( 多选题 | 1 分)
一个状态机包含(A.B.D)
A
.
状态
B
.
事件
C
.
自循环
D
.
转移14
( 多选题 | 1 分)
有关下面代码,编译后的可执行程序是echoserv,下面说法正确的是(c)
A
.
第19行中的STDIN_FILENO的值可以用grep -nr STDIN_FILENO /usr/include 查到为1
B
.
第24行select()会导到致程序阻塞,可以替代accept()
C
.
程序运行时,输入CTRL+D,可以让select返回
D
.
以上代码中加入csapp.h就能编译成功
- 15
( 多选题 | 1 分)
有关下面代码,编译后的可执行程序是echoserv,下面说法正确的是( A C E G)
A
.
这是一个并发echo服务器
B
.
这是一个迭代echo服务器
C
.
第33行关闭已连接描述符
D
.
第33行关闭监听描述符
E
.
删除第33行会导致内存泄露
F
.
./echoserv 5056 ,5056是连接的客户端进程的端口号
G
.
./echoserv 5056 ,5056是连接的服务器进程的端口号
H
.
删除第30行会导致内存泄露
- 16
( 多选题 | 1 分)
现代操作系统提供的构造并发程序的方法有( B C E )
A
.
异常
B
.
进程
C
.
I/O多路复用
D
.
信号
E
.
线程
补交课下测试(ch12并发编程) 08.第八周的更多相关文章
- 20155211 课下测试ch12补做
20155211 课下测试ch12补做 有关线程图,下面说法正确的是() A.图的原点表示没有任何线程完成一条指令的初始状态 B.向右向上是合法的转换 C.向左向下是合法的转换 D.对角线是合法的转换 ...
- 课下测试补交(ch03 ch08)
课下测试补交(ch03 ch08) 课下测试 ch03 1.有关gdb调试汇编,下面说法正确的是(ABCE) A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 ...
- 课下测试补交(ch01、ch02、ch07)
课下测试补交(ch01.ch02.ch07) 课下测试ch01 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A . 正确 B . 错误 解析:课本 ...
- # 课下测试补交(ch01)20155337
课下测试补交(ch01) 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A .正确 B .错误 解析:Amdahl定律,该定律的主要思想是,当我们对 ...
- # 第五周课下测试(ch03)补交
第五周课下测试(ch03)补交 1.( 多选题 | 1 分) 有关gdb调试汇编,下面说法正确的是() A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 pri ...
- 20155211课下测试ch10补交
20155211课下测试ch10补交 1.假设下面代码中的foobar.txt中有6个ASCII字母,程序的输出是() A.c = f B.c = o C.c = b D.c = 随机数 答案:A 解 ...
- 课下测试ch01修改补交
由于当时学习态度有问题,没有注意到第一次的课下测试,虽然在当周的总结中就进行补交,但是当时态度并没有很认真,可能没有引起老师的注意,现在重新修改,望老师谅解. (单选题 | 1 分) Amdahl定律 ...
- 课下测试CH01补交
课下测试CH01补交 ( 单选题 | 1 分) Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比. A . 正确 B . 错误 正确答案: B 你的答案: 未作答 ...
- 第七周 ch04 课下测试补交
2017-2018-1 20155335 <信息安全系统设计基础>第7周 课下测试博客 本人不慎忘记去交dao'zhi 测试题目: SEQ+对SEQ的改变有() A . PC的计算挪到取指 ...
随机推荐
- leetCode题解之First Missing Positive
1.问题描述 2.题解思路 本题的思路是对于数组中每个正的元素,应该将其放到数组中对应的位置,比如元素1 ,应该放在数组的第一个位置.以此类推,最后检查数组中元素值和下标不匹配的情况. 3.代码 in ...
- linux命令 zcat
zcat命令查看一个gzip格式的压缩文件zcat file.gz > test.txt 查看一个压缩文件的内容,并将内容 輸入到 文件test.txt zcat命令也可以解压缩数据,并把解压 ...
- python函数修饰器(decorator)
python语言本身具有丰富的功能和表达语法,其中修饰器是一个非常有用的功能.在设计模式中,decorator能够在无需直接使用子类的方式来动态地修正一个函数,类或者类的方法的功能.当你希望在不修改函 ...
- ASP.NET Core 系列[1]:ASP.NET Core 初识
ASP.NET Core 是一个跨平台的高性能开源框架,是一个用于连接到互联网的基于云的现代应用程序. ASP.NET Core 用于构建如 Web 应用.物联网(IoT)应用和移动后端应用,这些应用 ...
- [翻译] About Core Image
About Core Image Core Image is an image processing and analysis technology designed to provide near ...
- 外键应用(foreignkey)、多对多
1.创建model: 定义hv表,保存hv server infors: 定义vm表,保存vm infors: 一个vm只能对应一台hv server:一台hv server可以包含有多台vm cla ...
- (1)构造方法和方法重载 (2)this关键字 (3)方法的传参和递归调用
1.构造方法和方法重载如: Person p = new Person(); - 声明Person类型的引用p指向Person类型的对象 p.show(); - 调用名字为show()的成员方法 1. ...
- Java代理全攻略【有瑕疵:字节码生成部分没看到,最后两节没仔细看,累了】
Java代理 1.代理模式 定义:给某个对象提供一个代理对象,并由代理对象控制对于原对象的访问,即客户不直接操控原对象,而是通过代理对象间接地操控原对象. 其实就是委托.聚合.中间人. 为了保持行为的 ...
- symfony学习笔记1—简介
1.symfony快速入门还是先看代码结构把,这个是拿到代码的第一印象,app/:整个应用的配置,模版,translations,这个可能是多语言文件什么,src/:项目php文件,vendor/:第 ...
- ZT 类模板Stack的实现 by vector
*//*第3章 类模板 与函数相似,类也可以被一种或多种类型参数化.容器类就是一个具有这种特性的典型例子,它通常被用于管理某种特定类型的元素.只要使用类模板,你就可以实现容器类,而不需要确定容器中元素 ...