同步与异步

  在处理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模型。

转载于:https://www.cnblogs.com/wanmeishenghuo/p/9314800.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值