io多路复用

io操作时间远远高于CPU的时间

阻塞式IO,比如socket.connect()这是一个阻塞式,后续的操作如果基于链接之后才能做的话就需要一直等待链接成功,注意这时候等待是不耗费CPU资源的

不阻塞式IO,上面说的如果connect()后面代码不需要连接成功也可以做,这是可以通过setblock(false)让connect不是一个阻塞方法,让后续的代码执行

但是后续的代码需要connect之后才能做就需要while循环一直去check connect是否链接成功,这时候就需要耗费CPU资源

所以阻塞式和非阻塞式不能明确说哪一个好,看业务而定

有没有一种,当我们数据准备或者链接好cpu在通知,这就是IO多路复用

 

posted @ 2022-08-31 14:42  狼太白  阅读(12)  评论(0编辑  收藏  举报