IO模型与吃饭的那些事

瞎写的,大家看了图个乐,说得不对欢迎指正。

阻塞IO

万香楼开张了,今天是第一天接待人,张三是第一个客人,他看了眼菜单,对recvfrom说道:“给我来碗臊子面吧,多放臊子。”,recvfrom客气道:“好,稍等哈,我立马给你做”。这一做就是20分钟过去了,后面排队的后面李四、王五、马六不愿意了。李四不耐烦的道:“老板你能不能快点的啊,这这么搞等吃到饭都要晕倒了啊!”

非阻塞IO

recvfrom对李四客气道:“不好意思哈,我这臊子准备得有点少,我赔偿你个EWOULDBLOCK吧,你先换一家哈。”,李四想了下继续等下去也没啥意义,便转身走了。

IO复用模型

王五和马六觉得都排了这么久了,想了下,走了也不是办法,下家是不是也要这样排队等都不知道呢,正好这时候涌入了一大批人。王五想了想道:“老板,这样吧,我这正好有两套号码牌fd,你先拿来用一下,每个人点菜之后你给发一张,你做好了之后,你放到指定号码牌上,然后让你那个8岁娃select/poll|epoll看着点,如果做好了就让你娃根据号码牌说一声,然后我们自己来取就好了。”老板露出感激的眼神,对王五连连道谢。于是大家有序点餐,老板的大骨头饭和卤肉饭倒是管够,好几个人点到了就直接拿到手就去坐着吃了,还有好几个人点了些京酱肉丝、臊子面啥的都还没准备好,便坐到旁边安静的刷着手机等待了起来。

信号驱动IO模型

王五和马六坐了好一会,马六看到老板小孩看那些号码牌,跑来跑去的,老汗都冒出来了,于是捅了捅旁边的王五:“你那个号码牌都给老板了,其实没必要看着吧,你让老板对应号的菜做好了叫一声SIGIO指定的号不就行了么?”

王五一拍大腿:“诶,是这个道理,我去说一声哈。”

异步IO模型

正好这时,老板媳妇来了,老板觉得很多人都等了挺久了,于是对他媳妇说:“我这里的菜做好后,你等会按照这个号码牌,找到对应号码的客人,把饭端过去给他们吧,这样也不用客人老是跑来跑去的。他们只要点好菜去坐着就行了。”


Kumfo 的杂货铺
做一些经验总结和一些学习心得分享,主要围绕PHP。 现在正在学习机器学习,会增加一些机器学习的思考分享。
avatar
kumfo
SegmentFault 后端工程师

程序生存法则:

6.6k 声望
4.1k 粉丝
0 条评论
推荐阅读
Elasticsearch 按照标签匹配个数优先排序查询
首先最外层的数组就是我们通常写的query语句,放在body中进行请求的,主要看query里面的结构,这种需要自定义脚本处理评分的,query中只放了一个script_score:

kumfo3阅读 916评论 1

手把手教你写一份优质的前端技术简历
不知不觉一年一度的秋招又来了,你收获了哪些大厂的面试邀约,又拿了多少offer呢?你身边是不是有挺多人技术比你差,但是却拿到了很多大厂的offer呢?其实,要想面试拿offer,首先要过得了简历那一关。如果一份简...

tonychen152阅读 17.7k评论 5

封面图
正则表达式实例
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。常用正则表达式实例1. 校验基本日期格式 {代码...} {代码...} 2. 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊...

寒青56阅读 8.4k评论 11

JavaScript有用的代码片段和trick
平时工作过程中可以用到的实用代码集棉。判断对象否为空 {代码...} 浮点数取整 {代码...} 注意:前三种方法只适用于32个位整数,对于负数的处理上和Math.floor是不同的。 {代码...} 生成6位数字验证码 {代码...} ...

jenemy48阅读 7k评论 12

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木75阅读 7.1k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs42阅读 6.8k评论 12

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木45阅读 8.5k评论 6

avatar
kumfo
SegmentFault 后端工程师

程序生存法则:

6.6k 声望
4.1k 粉丝
宣传栏