新闻详情

新闻详情

首页 / 资讯中心 / 详情

操作系统学习笔记(一) 并发与并行、同步与异步,阻塞与非阻塞

发布时间:2026/9/27 9:02:30来源:尧图网络
操作系统学习笔记(一) 并发与并行、同步与异步,阻塞与非阻塞
一、并发与并行并发多个任务在同一时间段内都被处理过可能由一个执行单元轮流处理也可能由多个执行单元同时完成。并行同一时刻有多个执行单元真正同时执行多个任务。核心区别在与同一刻时间是否真的有多件时间在被共同处理并行一定是并发并发不一定是并行单个执行单元(线程/协程)同一时刻只能处理一个任务但是可以通过轮流处理使得多个任务并发地被处理以下场景属于并发但不属于并行一个线程内的多个协程处理多件不同的任务使用CPython解释器时处理纯计算任务时同一进程内的多个线程处理不同的任务单核CPU机器中多个线程共同执行多个计算任务现实中的例子并发一个员工被委派了多个任务(任务一天干不完)其可以每天的上午干事件A每天的下午干事件B在员工的主管眼里这两个事情每天都有进展但是这个员工同一时刻显然内只能干一件事并行多个员工被委派了一个大任务的不同子任务同一时刻内(如果员工没在摸鱼)多个子任务是在被同时推进的二、同步与异步同步调用调用方发起请求后必须等到调用返回或结果可用才能继续原来的后续逻辑。异步调用调用方发起请求后不原地等待最终结果而是立即返回后续逻辑可以继续最终结果在未来通过其他方式回调、事件、Future/Promise、消息或轮询等获取。核心区别在与是原地等待最终结果完成再接着干自己的活还是立马继续干自己的活不等待最终结果现实中的例子同步线下购物一手交钱一手交货交完钱后拿到货前你一般不会跑去干别的事情异步线上购物先交钱下发订单货一段时间后快递到你家门口货到之前你完全可以干别的货到了有快递员通知你三、阻塞与非阻塞阻塞 执行单元发起一个 I/O 调用如果这个操作不能立即完成调用不会返回执行单元被挂起直到 I/O 完成、出错或被中断。非阻塞执行单元发起一个 I/O 调用无论操作有没有立即完成调用立即返回。如果没就绪就返回“暂时不可用”之类的状态比如 EAGAIN。执行单元不会因为这次 I/O 调用被挂起。核心区别在与等待I/O的过程中执行单元是否挂起同步与异步、阻塞与非阻塞的区别同步与异步侧重点在与调用方如何拿到任务结果阻塞和非阻塞重点在与执行单元遇到需要等待的I/O操作时是挂起还是不挂起异步通常意味着“发起时非阻塞”因为调用方可以立刻获得一个调用结果(非最终调用结果)但其不等于“整个过程都非阻塞”因为在等待最终结果的过程中为了节省计算资源可以主动让执行单元挂起组合发起时等待结果时例子同步阻塞不返回挂起普通read()没数据 read()函数不立刻返回而是等到数据准备好后再返回等待期间执行单元挂起同步非阻塞立即返回不挂起自己轮询非阻塞read()while重试read()函数直接返回但是返回的是暂时不可用或者未准备好执行单元不被挂起而是一直轮询数据准备状况异步非阻塞立即返回不挂起等回调/事件io_uring 事件循环、Node.js 回调调用io_uring后立刻返回任务完成后通知执行单元异步阻塞立即返回挂起等待完成异步I/O本身其实通常是非阻塞的其中的阻塞大概率是因为程序员选择了让执行单元挂起本质上是异步非阻塞的一种用发现实例子以在银行办理业务为例同步阻塞站柜台前等业务员办理业务但是由于需要的时间太久所以你直接在柜台上睡着了同步非阻塞问一句“好了没”没好人就走过会儿再来问异步非阻塞取号后去逛街叫号通知你异步阻塞取号后直接睡在大厅等号好了叫你
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

刷会员网站怎么做避坑指南:源码下载后备案不头大,3000字讲透费用与选型 2026/9/27 9:57:05

刷会员网站怎么做避坑指南:源码下载后备案不头大,3000字讲透费用与选型

刷会员网站怎么做避坑指南:源码下载后备案不头大,3000字讲透费用与选型 做网站最怕什么?不是代码写不出来,而是 备案流程一头雾水…

阅读更多 →
3步避开坑:开封建设企业网站公司怎么选 2026/9/27 9:57:04

3步避开坑:开封建设企业网站公司怎么选

3步避开坑:开封建设企业网站公司怎么选 网站做好了没人访问,这是不是很多老板的噩梦?花了几万块做的官网,上线后每天访客不到十个,连百度都搜不到第一页。这时候你才意识到,问题不在网站长什么样,而在于 开封建设企业网站公司怎么选…

阅读更多 →
煤矿场景下人体干燥设备的工程适配:从六个实际项目的环境适应性与可靠性验证 2026/9/27 9:56:51

煤矿场景下人体干燥设备的工程适配:从六个实际项目的环境适应性与可靠性验证

摘要 煤矿职工澡堂属于高湿度、高粉尘、高频使用的特殊工业环境,对电气设备的防护等级、感应系统灵敏度和温控策略提出了远高于商用场景的工程要求。本文从外壳防护等级在煤矿环境中的适用性分析出发,结合六个煤矿项目的实际部署案例,讨论人…

阅读更多 →
3步搞懂网站建设的技术亮点:从被黑挂马到安全部署的对比评测 2026/9/27 9:56:44

3步搞懂网站建设的技术亮点:从被黑挂马到安全部署的对比评测

3步搞懂网站建设的技术亮点:从被黑挂马到安全部署的对比评测 昨晚十一点,客户电话打过来,声音都在抖:“网站打开全是弹窗广告,还跳转博彩页面,我是不是完蛋了?”这是典型的网站被黑挂马事故。对于刚入行的新手或正在考察建站服务的朋友,这种恐惧比技…

阅读更多 →
用 Docker Compose 一键搭建 DataHaven 本地开发网络:节点编排、密钥注入与故障排查实战 2026/9/27 9:56:31

用 Docker Compose 一键搭建 DataHaven 本地开发网络:节点编排、密钥注入与故障排查实战

区块链存储Web3 【免费下载链接】datahaven An EVM compatible Substrate chain, powered by StorageHub and secured by EigenLayer 项目地址: https://gitcode.com/gh_mirrors/da/datahaven 点击查看 免费下载 本篇技术指南以 DataHaven 仓库中的 DOCKER-COMPOSE…

阅读更多 →
SJX Make,纯C实现的智能make程序,无需makefile脚本,全自动,适合c项目 2026/9/27 9:56:31

SJX Make,纯C实现的智能make程序,无需makefile脚本,全自动,适合c项目

之前发布的纯c单h文件make系统 https://github.com/shajunxing/sjx-make/blob/main/make.h.md ,依旧需要在项目源文件每次变更后调整编译脚本,太麻烦。于是我一怒之下用400行代码完成了“一次编写,处处运行”,自动分析头文件依赖关系&#xf…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉