IO模型与吃饭的那些事

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

阻塞IO

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

非阻塞IO

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

IO复用模型

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

信号驱动IO模型

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

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

异步IO模型

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

你可能感兴趣的