11th
各种 IO 之间的区别
阻塞 I/O
给女神发一条短信,说我来找你了,然后就默默的一直等着女神下楼,这个期间除了等待你不会做其他事情,属于备胎做法。
非阻塞 I/O
给女神发短信,如果不回,接着再发,一直发到女神下楼,这个期间你除了发短信等待不会做其他事情,属于专一做法。
I/O 多路复用
I/O 多路复用是找一个宿管大妈来帮你监视下楼的女生,这个期间你可以些其他的事情。例如可以顺便看看其他妹子,玩玩王者荣耀,上个厕所等等。I/O 多路复用又包括 select、poll、epoll 模式。那么它们的区别是什么?
select
每一个女生下楼,select 大妈都不知道这个是不是你的女神,她需要一个一个询问,并且 select 大妈能力还有限,最多一次帮你监视 1024 个妹子。
poll
poll 大妈不限制盯着女生的数量,只要是经过宿舍楼门口的女生,都会帮你去问是不是你女神。
epoll
epoll 大妈不限制盯着女生的数量,并且也不需要一个一个去问。那么如何做呢? epoll 大妈会为每个进宿舍楼的女生脸上贴上一个大字条,上面写上女生自己的名字,只要女生下楼了,epoll 大妈就知道这个是不是你女神了,然后大妈再通知你。
上面这些同步 IO 有一个共同点就是,当女神走出宿舍门口的时候,你已经站在宿舍门口等着女神的,此时你属于阻塞状态
异步 I/O
接下来是异步 IO 的情况,你告诉女神我来了,然后你就去玩王者荣耀了,一直到女神下楼了,发现找不见你了,女神再给你打电话通知你,说我下楼了,你在哪呢? 这时候你才来到宿舍门口。此时属于逆袭做法。
Last updated
Was this helpful?