跳转至

互斥

来源:操作系统 / note/进程管理/进程通信/互斥.md

上级:进程通信

互斥用于保证同一时刻最多只有一个进程或线程访问临界资源。

临界资源和临界区

  • 临界资源:一次只允许一个执行流访问的共享资源。
  • 临界区:访问临界资源的代码片段。

互斥要求

  • 空闲让进:临界区空闲时,应允许一个请求者进入。
  • 忙则等待:已有进程在临界区时,其他请求者必须等待。
  • 有限等待:等待者不能无限期等待。
  • 让权等待:不能进入临界区时,应尽量释放 CPU。

常用实现

  • 关中断:只适合内核中的短临界区。
  • 锁:通过硬件原子指令实现。
  • 信号量:用 P/V 操作控制进入和退出。

相关