IO模型
来源:互联网 发布:最好的养生软件 编辑:程序博客网 时间:2024/04/30 03:13
最近看了腾讯的郭欣写的 高性能web站点的文章。 结合现有的项目经验。 写点名称总结
同步阻塞IO: 如对磁盘文件的读写操作。 这里指的是进程。如accept() connect()
同步非阻塞IO: 就是使用recv操作时,没有数据可读时,可以直接返回。
多路IO就绪通知:就是 select;poll;epoll;
作者举的是上街买东西的例子。 生动形象,如epoll是在大屏幕上注册了短信平台。 做好东西通知你过来取。
epoll的详细实现,会过些天总结写下。
异步IO; 同步主动请求并等待IO操作完毕,数据的读写必须阻塞;异步IO主动请求数据后便继续处理其他任务,等待I/O操作完毕后通知。
linux 2.6.16 中说这个还在实现。
这个不是很明白的。 epoll事件通知,有数据时IO才做相应的操作。 如果这个时候I/O的读写操作完毕也是由事件触发,这个是谁来监听该事件?
结合自己写过的现有模型。
IO模型。 1个listen thread -- n个work thread
这个的模型为listen 的epoll_wait()在建立好连接后,分发给各个work thread的epoll_wait。由work thread的epoll_wait完成后续的读写转发操作。 socket均为 非阻塞。
内存模型: mem pool;等块内存
测试最后优化的瓶颈为CPU上。 在 IO 操作繁忙的情况下会造成CPU的调度超时,如connect.
采用方法:控制并发和吞吐量。
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO模型
- IO 模型
- IO模型
- 不显示删除回复显示所有回复显示星级回复显示得分回复 如何将工具栏按钮和菜单栏的选项关联起来执行同一个动作啊
- 启用和禁用工具栏按钮!
- PXA310音频(3)
- 论静态成员在C++中的应用
- 程序员能力矩阵
- IO模型
- delphi 使用webbrowser取得网页中表格(Table)内容的正确方法
- eqeee wr w
- KiFastCallEntry
- 浏览华盛顿
- C++静态成员(变量与函数)很容易理解哦!
- 处女笔
- 儿子的爆笑
- 对称加密算法,非对称加密算法