理解5种网络IO模型

来源:互联网 发布:电力拖动仿真软件 编辑:程序博客网 时间:2024/05/22 12:56

我觉得要理解5种网络模型,第一看懂Stevens的那张图
这里写图片描述
第二用身边的一件例子来理解它
然后对于Stevens的图我就不过多解释了,下面我介绍下我怎么用生活中的例子来理解他的,故事的起因源自一次酒店洗衣服
然后我把洗衣服的过程叫做数据准备,然后衣服洗好了拿到房间叫做辅助数据到用户空间

阻塞式IO就是洗衣服的时候一直在洗衣机旁边等着(好像有啥见不得人的东西),在衣服洗好之前你不能走,只能站在那里,然后衣服洗好之后把衣服拿到房间

非阻塞式IO就是洗衣服的时候不用在旁等着,但是你不知道衣服什么时间可以洗好,然后就需要不断的过来检查,直到衣服洗好之后把衣服拿到房间

IO复用就是你要洗的衣服太多了,一台洗衣机装不下或者你想把衣服分开洗,你就要用多台洗衣机一起洗,同样洗的时候还是阻塞式IO了

信号驱动IO就是酒店的洗衣机比较牛逼,衣服洗完了会通知你(具体怎么通知就不追究了),然后你就不用在洗衣服的时候傻傻等在那边了,等洗衣机跟你发信息之后过来去衣服就好了

异步IO最牛逼的了,上面几个兄弟都是穷屌,因为有钱,洗衣服直接叫钟点工,让钟点工洗完了,把衣服拿过来,然后通知你

最后关于同步IO与异步IO,一种简单的理解方式就是异步IO无需等待,而同步IO通常要等待数据等。。。若理解有误,网大神指教,所以前四种IO方式都是同步IO

0 0