news 2026/5/7 17:13:17

实现锁的方式之中断的开关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
实现锁的方式之中断的开关

如大家所了解的,关于编程中锁的具体实现,需要脱离我们的编程语言,往操作系统、硬件的支持这些更下的一层去探究。

中断的开关

在线程切换的时候需要用到中断,因此若关闭了中断,则可以阻止当前 CPU 运行的任务被其他任务所抢占。

这是一种非常简单粗暴的方式,具体的在进入临界区代码前关闭中断,离开临界区后重新开启中断。

简单的用伪码表示为:

function lock() 关闭中断 function unlock() 开启中断 function thread_fun() lock() 临界区操作 unlock()

首先该方法的最大优点就是简单

但是缺点却是一大堆,并且在多处理器的环境下该方法基本完全无效。因为在多处理器下,不同的线程极大可能的运行在不同的 CPU 下,当前进程下的线程不会互相切换,因此无法达到锁的目的。

但回到单处理器的环境,该方法也具有极大弊端。我们无法预料在临界区需要什么样的环境支持和会做什么。假如临界区就是需要一次 IO 中断的产生,那当前程序甚至说是整个计算机将会锁死。即使临界区本身不需要中断,也有可能一些耗时的操作导致后台中断的丢失或其他需要中断的任务无法正常运行而使得计算机直接死机 。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/7 17:11:31

理想校招怎么准备:别把现代 C++ 背成名词表,量产系统和项目追问更关键

理想校招怎么准备:别把现代 C++ 背成名词表,量产系统和项目追问更关键 适合人群:目标偏 C++、自动驾驶系统、智能座舱、车载软件方向,想搞清理想为什么特别爱追“项目里你到底怎么用过”的同学 很多人准备理想时,会下意识把重点放在两件事上: 算法题 现代 C++ 新特性 这…

作者头像 李华
网站建设 2026/5/7 17:10:05

2025届学术党必备的六大降重复率平台横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 撰写文本之际,为把AI生成痕迹予以降低,得从词汇、句法以及结构这三个…

作者头像 李华
网站建设 2026/5/7 17:09:26

法大大发布智能合同助手,打造人人可用的AI合同助手

2026年以来,AI在合同领域正从“实验”进入“量产”,但信任与数据质量仍是关键门槛。调研显示,56%的企业已正式部署智能体,55%的管理者却仍对AI准确性存疑;62%的团队坦承,历史合同中的未知风险才是最大焦虑。…

作者头像 李华
网站建设 2026/5/7 17:08:54

阿里云2026年零技术攻略:安装Hermes Agent/OpenClaw配置Token Plan方法

阿里云2026年零技术攻略:安装Hermes Agent/OpenClaw配置Token Plan方法。OpenClaw作为阿里云生态下新一代的开源AI自动化代理平台,曾用名Moltbot/Clawdbot,凭借“自然语言交互自动化任务执行大模型智能决策”的核心能力,正在重构个…

作者头像 李华