1. 有关线程图,下面说法正确的是()
      A .图的原点表示没有任何线程完成一条指令的初始状态
      B .
      向右向上是合法的转换
      C .向左向下是合法的转换
      D .对角线是合法的转换
      E .一个程序执行的历史被模型化成状态空间中的一条轨迹线
      F .进度图中,两个临界区的交集形成不安全区

正确答案: A B E F

    1. 下面代码对于并发程序来说逻辑上是(5)条指令?
      for(i=0;i<1000; i++)
          cnt++;
  • 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.第八周的更多相关文章

  1. 20155211 课下测试ch12补做

    20155211 课下测试ch12补做 有关线程图,下面说法正确的是() A.图的原点表示没有任何线程完成一条指令的初始状态 B.向右向上是合法的转换 C.向左向下是合法的转换 D.对角线是合法的转换 ...

  2. 课下测试补交(ch03 ch08)

    课下测试补交(ch03 ch08) 课下测试 ch03 1.有关gdb调试汇编,下面说法正确的是(ABCE) A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 ...

  3. 课下测试补交(ch01、ch02、ch07)

    课下测试补交(ch01.ch02.ch07) 课下测试ch01 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A . 正确 B . 错误 解析:课本 ...

  4. # 课下测试补交(ch01)20155337

    课下测试补交(ch01) 1.Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比.(B) A .正确 B .错误 解析:Amdahl定律,该定律的主要思想是,当我们对 ...

  5. # 第五周课下测试(ch03)补交

    第五周课下测试(ch03)补交 1.( 多选题 | 1 分) 有关gdb调试汇编,下面说法正确的是() A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 pri ...

  6. 20155211课下测试ch10补交

    20155211课下测试ch10补交 1.假设下面代码中的foobar.txt中有6个ASCII字母,程序的输出是() A.c = f B.c = o C.c = b D.c = 随机数 答案:A 解 ...

  7. 课下测试ch01修改补交

    由于当时学习态度有问题,没有注意到第一次的课下测试,虽然在当周的总结中就进行补交,但是当时态度并没有很认真,可能没有引起老师的注意,现在重新修改,望老师谅解. (单选题 | 1 分) Amdahl定律 ...

  8. 课下测试CH01补交

    课下测试CH01补交 ( 单选题 | 1 分) Amdahl定律说明,我们对系统的某个部分做出重大改进,可以显著获得一个系统的加速比. A . 正确 B . 错误 正确答案: B 你的答案: 未作答 ...

  9. 第七周 ch04 课下测试补交

    2017-2018-1 20155335 <信息安全系统设计基础>第7周 课下测试博客 本人不慎忘记去交dao'zhi 测试题目: SEQ+对SEQ的改变有() A . PC的计算挪到取指 ...

随机推荐

  1. 【转】证书的应用之一 —— TCP&SSL通信实例及协议分析(下)

    原文链接 前面两部分分别讲解了如何在.net程序中使用SSL实现安全通信以及SSL的通信过程,并通过抓包工具具体分析了ssl的握手过程,本文通过一个demo来模拟ssl协议,在TCP之上实现自己的安全 ...

  2. mybatis大于小于的转义

    最近在使用mybatis,然后用到了小于等于,直接在XML中使用了<=,结果XML文件一直显示红色错误,如下: sum(case when p.pool_year <= '2014' th ...

  3. 6.servlet和jsp的区别

    servlet和jsp的区别 jsp作为Servlet技术的扩展,经常会有人将jsp和Servlet搞混.本文,将为大家带来servlet和jsp的区别,希望对大家有所帮助. servlet和jsp的 ...

  4. Ad-hoc 查询以及动态SQL的罪恶[译]

    本文为翻译文章,原文地址:https://www.simple-talk.com/blogs/2009/08/03/stolen-pages-ad-hoc-queries-and-the-sins-o ...

  5. 从Azure上构建Linux应用程序映像

    下图描述了总体的虚拟机的VHD映像生成以及发布到 Azure Azure 镜像市场的全过程: 具体步骤如下: 从Azure管理平台上Linux申请虚拟机, 安装和配置您要发布的应用软件产品,制作成映像 ...

  6. [C++] 用Xcode来写C++程序[4] 函数

    用Xcode来写C++程序[4] 函数 此节包括引用函数,内联函数,防止修改函数入参,函数自身带有默认值. 引用函数:防止复制对象,减少系统开销 内联函数:编译的时候根据具体情形将代码嵌入进去,成不成 ...

  7. 《C++ Primer Plus》读书笔记之六—函数探幽

    第八章 函数探幽 1.常规函数与内联函数的主要区别不在于编写方式,而在于C++编译器如何将它们组合到程序中. 2.常规函数调用使程序跳到另外一个地址(函数地址),并在函数结束时返回,更详细的的实现过程 ...

  8. 构造个人轻量级XSS平台获取管理员cookie并登录

    一.前言 本平台是个人轻量级XSS测试平台,仅作为练习参考. 二.实验环境 服务器操作系统:Centos 7 Web容器:Apache 三.平台搭建过程 安装Apache 安装PHP 安装Git工具 ...

  9. npm install --save 和 --save-dev的区别

    --save 会把依赖包名称添加到 package.json 文件 "dependencies" 键下--save-dev 则添加到 package.json 文件 "d ...

  10. NSKeyValueObserving.m

    https://github.com/farcaller/cocotron/blob/af740de86c9bee84c59ffc74d27e5df9e22e1391/Foundation/NSKey ...