• 同步与异步


      在处理IO的时候阻塞与非阻塞都是同步IO,只有使用了特殊的API才是异步IO。

           

    select、poll、epoll都是同步。IO多路复用又叫事件驱动。

    信号驱动方式的IO也是同步的,信号只是异步通知机制,真正执行IO操作还是同步的(UNP的说法)。

    在IO操作时,事件驱动和信号驱动差不多一个概念。

    5种IO模型:

      1、阻塞式IO模型

      2、非阻塞式IO模型

      3、IO复用模型

      4、信号驱动式IO模型

      5、异步IO模型(调用特殊API,Linux中为aio)

    前4种都是同步IO模型,第5种是异步IO模型。because the actual I/O operation (recvfrom) blocks the process.这里说的阻塞应该是说需要进程自己去读/写数据,读写的时候进程是停在这个“读写点”的,而异步IO,不需要进程自己来读,内核帮忙拷贝到用户空间,进程直接用就行,也就不会停在“读写点”上。

      只要是应用主动调用读写IO的模型都是同步IO模型。

  • 相关阅读:
    关于DOM事件操作
    js 去掉字符串前后空格
    oracle创建表索引
    导入Excel -- 套路及代码分析
    漫谈五种IO模型(主讲IO多路复用)
    Reactor模式
    jvm
    Python入门学习资料推荐
    ConcurrentHashMap & Hashtable
    分布式系统的接口幂等性设计
  • 原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9314800.html
Copyright © 2020-2023  润新知