异步IO是什么?啥是事件循环?什么是协程?

文章目录

  • 异步IO是什么?
    • 什么是IO请示,什么是阻塞?
        • 阻塞与非阻塞对比
      • 生活中的例子:自助咖啡机
  • 啥是事件循环?
  • 为什么叫事件循环?
  • 什么是协程?
  • 协程,例程,进程,线程的区别和联系,分别给出英文名
      • 协程(Coroutine)
      • 例程(Routine)
      • 进程(Process)
      • 线程(Thread)
      • 四者关系
      • 总结对比


异步IO是什么?

异步IO(Asynchronous I/O)是一种非阻塞的输入输出操作模式,允许程序在发起IO请求后不等待操作完成,而是继续执行后续任务。

什么是IO请示,什么是阻塞?

IO请求是程序与外部设备(如磁盘、网络、键盘等)进行数据交互时向操作系统内核发起的系统调用。例如读取文件内容或发送网络数据时,程序会通过系统调用请求内核完成实际的输入/输出操作。IO请求分为两个阶段:

  1. 等待资源阶段:内核检查设备是否就绪(如磁盘是否找到数据)
  2. 使用资源阶段:内核将数据从设备缓冲区复制到用户空间

阻塞指程序在等待IO操作完成时暂停执行后续代码,直到操作完成。例如:

  • 同步阻塞IO:程序调用read()读取文件时,若数据未准备好,线程会挂起等待,无法处理其他任务
  • 生活类比:排队买奶茶时

你可能感兴趣的:(Dify:智能体(Agent),工作流,知识库,全搞定,几道之旅AI专栏VVVIP,python)