当前位置: 首页 > news >正文

异步同步,阻塞非阻塞,reactor/proactor

文章目录

    • reactor和proactor区别
    • 同步IO/异步IO区别
    • 阻塞非阻塞

reactor和proactor区别

1.reactor

应用线程       内核|           |注册事件       ||           ||<--事件就绪--||           |读/写数据 <----|
  1. proactor
应用线程       内核|           |发起异步 I/O   ||           ||           |--> 内核完成 I/O|           |--> 回调触发v           v做其他工作    处理结果
特性ReactorProactor
I/O 执行应用线程主动执行内核/线程池执行
事件通知就绪通知(ready)完成通知(completion)
回调执行原线程调用原线程或其他线程
阻塞情况可能阻塞在读/写不阻塞,完全异步

💡 一句话记忆:

Reactor = “事件就绪我去做”;
Proactor = “我交给系统做,完成了通知我”。

同步IO/异步IO区别

同步 I/O = 发起就阻塞,等待完成;
异步 I/O = 发起立即返回,完成由回调/事件通知处理。

阻塞非阻塞

同步 = 发起 I/O 后自己去做/等待结果

异步 = 发起 I/O 后不管,等系统通知

阻塞 = 线程等,不能干别的

非阻塞 = 线程不等,可继续做其他事

http://www.lryc.cn/news/621170.html

相关文章:

  • spring boot配置es
  • CPP模板编程
  • Redis7学习--持久化机制 RDB与AOF
  • 汽车生产线白皮书:稳联技术Profinet转Ethernet IP网关通信高效性
  • StarRocks优化统计分析
  • Redis入门到实战教程,深度透析redis
  • 零信任架构(Zero Trust Architecture, ZTA)(通过动态验证和最小权限控制,实现对所有访问请求的严格授权和持续监控)
  • Java应用架构实战指南:主流模式解析与Spring落地实践
  • diffusers库学习--pipeline,模型,调度器的基础使用
  • Docker exec进入容器命令的入门教程
  • 使用正则表达式 \s+ 作为分隔符处理字符串
  • 【cmake】编译cpp文件,安装MinGW
  • Python 进阶详解:正则表达式与 JSON —— 文本处理与数据交换的核心技能
  • K8s-持久化存储
  • 第1节:多模态大模型入门(多模态大模型基础教程)
  • 安装 Nginx
  • Spring Boot + Redis + 布隆过滤器防止缓存穿透
  • UML函数原型中constraint的含义,有啥用?
  • 读《精益数据分析》:移情(Empathy)—— 验证真实需求,避免伪需求陷阱
  • 加密货币交易所开发:如何打造安全、高并发的数字资产交易平台?
  • 7、C 语言数组进阶知识点总结
  • 分布式事务、锁、链路追踪
  • Mybatis学习笔记(九)
  • C#WPF实战出真汁01--搭建项目三层架构
  • 计算机视觉第一课opencv(二)保姆级教
  • 【CLR via C#(第3版)阅读笔记】类型基础
  • (论文速读)DiffusionDet - 扩散模型在目标检测中的开创性应用
  • 【C#】跨平台创建你的WinForms窗体应用(WindowsUbuntu)
  • 从零开始的云计算生活——第四十三天,激流勇进,kubernetes模块之Pod资源对象
  • Ansible企业级实战