题54

题目

Q:【2016 统考真题】进程 均包含并发执行的线程,部分伪代码描述如下所示。

下列选项中,需要互斥执行的操作是 ( ) 。
A.
B.
C.
D.

分析

A:这是两个进程!两个进程的x虽然是一个名字,但是是两个不同的变量!
进程内部的两个线程才需要上锁,这两个线程,用的是自己进程里的x,是同一个x,需要上锁!

  • 需要进行互斥的操作是对临界资源的访问
    • 也就是说, 不同线程对同一个进程内部的共享变量的访问才有可能需要进行互斥
  • 不同进程的线程、代码段或变量不存在互斥访问的问题
    • 同一个线程内部的局部变量也不存在互斥访问的问题
  • 选项 中的 是线程内部的局部变量
    • 不需要互斥访问
  • 选项 是不同进程的线程代码段
    • 不存在互斥访问的问题
  • 选项 是对进程内部的共享变量 的读操作
    • 不互斥也不影响执行结果
    • 所以不需要互斥访问
  • 选项 是不同线程对同一个进程内部的共享变量的写操作
    • 需要互斥访问
      • 类似于读者-写者问题

C