应用进程是:小明
内核:小王
1 阻塞式I/O模型:
小明向小王借大米做饭,小王暂时没有,但是小明这时候其它啥事情也不做了(例如这时候他还可以洗菜),就在哪里等的,直到小王有了大米,然后小明把大米搬运到自己家里,开始做饭。
2 非阻塞式I/O模型:
小明向小王借大米做饭,小王暂时没有,但是小明这时候这时候他去洗菜了,每洗一回就去问小王大米准备好了吗,直到小王有了大米,然后小明把大米搬运到自己家里,开始做饭。
3 I/O 复用模型:
村里面好多人做饭没有米了,都去向小王借米。这样的话无论是向小王借米的人每隔一段时间问小王也好,还是在哪里死等小王的消息也罢,借米的人都至少不会好好的做其他的事情了,
这样大家就找一个代理人,然后大家吧情况和这个代理人说了,让这个代理人和小王交互。等有数据到达的时候,这个代理人就通知具体的某个人,然后这个人把大米搬运到自己家里面,开始做饭。
4 信号驱动模型:
小明向小王借大米做饭,小王暂时没有,但是小明这时候去洗菜,而不是在哪里等着,或者不断的问小王,因为小王有了大米会主动通知小明,等通知到来的时候,小明把大米搬运到自己家里,开始做饭。
5 异步模型:
小明向小王借大米做饭,小明向小王说完借大米的事情就去做别的事情了,等小王有了大米,并且主动把大米搬运到小明的家里,才通知小明大米到了,这时候小明开始做饭。
同步:应用进程主动拷贝数据到用户空间。
异步:内核负责拷贝数据到用户空间,这个过程中应用进程还在做自己的事情。
阻塞,非阻塞,I/O复用,信号驱动,都是同步。最后的异步才是真正的异步。
以上就是5中oi模型怎么用?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号