zoukankan      html  css  js  c++  java
  • 补交课下测试(ch12并发编程) 08.第八周

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

    正确答案: A B E F

    下面代码对于并发程序来说逻辑上是(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
      .
      线程
  • 相关阅读:
    PAT乙级1008. 数组元素循环右移问题 (20)
    PAT乙级1007. 素数对猜想 (20)
    PAT乙级1006. 换个格式输出整数 (15)
    ubuntu mate 开机自动启动ssh服务
    ubuntu 修改网卡名称
    ubuntu 绑定固定ip
    ubuntu sogou 輸入法無法輸入文字,解決辦法【转载】
    select()函数小结【转载】
    listen函数小结
    python学习过程二(《python核心编程》第三章)
  • 原文地址:https://www.cnblogs.com/gaoziyun11/p/8018026.html
Copyright © 2011-2022 走看看