Linux五种IO模型

五种IO模型的理解
阻塞IO(收银台等待) : 在内核将数据准备好之前, 系统调⽤会⼀直等待. 所有的套接字, 默认都是阻塞⽅式.
⾮阻塞IO(座位等待) :往往需要程序员循环的方式反复尝试读写文件描述符, 这个过程称为轮询.
信号驱动IO(等服务员叫):内核将数据准备好的时候, 使⽤SIGIO信号通知应用程序进行IO操作,其他线程挂起等待.
(在多线程服务器中不太好)
异步IO(前台叫号取餐) :由内核在数据拷贝完成时, 通知应用程序
IO多路转接(肯德基本身): 一个线程管理多个文件描述符,实际上最核⼼在于IO多路转接能够同时等待多个文件描述符
的就绪状态

阻塞 :调用结果返回之前,当前线程会被挂起,调用线程只有等得到结果之后才会返回用户空间。
非阻塞:  指IO操作被调用后立即返回给用户一个状态值,无需等到IO操作彻底完成

同步  : 调用一旦开始,调用者必须等到方法调用返回后,才能继续后续的行为。

异步  :  调用更像一个消息传递,一旦开始,方法调用就会立即返回,调用者就可以继续后续的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值