关于网络通信:IO模型与吃饭的那些事

3次阅读

共计 815 个字符,预计需要花费 3 分钟才能阅读完成。

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

阻塞 IO

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

非阻塞 IO

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

IO 复用模型

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

信号驱动 IO 模型

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

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

异步 IO 模型

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

正文完
 0