5中oi模型怎么用?


本文摘自PHP中文网,作者PHP中文网,侵删。

应用进程是:小明

内核:小王

1 阻塞式I/O模型:

小明向小王借大米做饭,小王暂时没有,但是小明这时候其它啥事情也不做了(例如这时候他还可以洗菜),就在哪里等的,直到小王有了大米,然后小明把大米搬运到自己家里,开始做饭。

2 非阻塞式I/O模型:

小明向小王借大米做饭,小王暂时没有,但是小明这时候这时候他去洗菜了,每洗一回就去问小王大米准备好了吗,直到小王有了大米,然后小明把大米搬运到自己家里,开始做饭。

3 I/O 复用模型:

村里面好多人做饭没有米了,都去向小王借米。这样的话无论是向小王借米的人每隔一段时间问小王也好,还是在哪里死等小王的消息也罢,借米的人都至少不会好好的做其他的事情了,

这样大家就找一个代理人,然后大家吧情况和这个代理人说了,让这个代理人和小王交互。等有数据到达的时候,这个代理人就通知具体的某个人,然后这个人把大米搬运到自己家里面,开始做饭。

4 信号驱动模型:

小明向小王借大米做饭,小王暂时没有,但是小明这时候去洗菜,而不是在哪里等着,或者不断的问小王,因为小王有了大米会主动通知小明,等通知到来的时候,小明把大米搬运到自己家里,开始做饭。

5 异步模型:

小明向小王借大米做饭,小明向小王说完借大米的事情就去做别的事情了,等小王有了大米,并且主动把大米搬运到小明的家里,才通知小明大米到了,这时候小明开始做饭。

同步:应用进程主动拷贝数据到用户空间。

异步:内核负责拷贝数据到用户空间,这个过程中应用进程还在做自己的事情。

阻塞,非阻塞,I/O复用,信号驱动,都是同步。最后的异步才是真正的异步。

以上就是5中oi模型怎么用?的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

5中oi模型怎么用?

5中oi模型怎么用?

更多相关阅读请进入《深入浅出》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...