关中断

「关中断」是一种实现临界区管理的硬件策略,即在执行临界区代码时,直接禁止一切中断。

由于单 CPU 中,引起进程切换唯一原因是中断,故单 CPU 下可行,例如

while (1)
{
	屏蔽中断响应;
	临界区代码;
	恢复中断响应;
	其余代码;
}
  • 代价高,影响并发性
  • 不安全,将禁止一切中断权利给了普通用户。
  • 局限性:不适合多 CPU,一个进程只能禁止本 CPU 的中断。