码迷,mamicode.com
首页 > 其他好文 > 详细

I/O复用模型详解

时间:2018-10-25 16:25:39      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:结构   image   sync   执行   进程模型   复用   回调机制   locking   com   

一.httpd工作模型

prefork:进程模型,两级结构,主进程master负责生成子进程,每个子进程负责响应一个请求

worker:线程模型,三级结构,主进程master负责生成子进程,每个子进程负责生成多个线程,每个线程相应一个请求

event:线程模型,三级结构,主进程master负责生成子进程,每个子进程响应多个请求

二.I/O模型名词概念

同步/异步:关注的是消息通信机制

同步:synchronous,调用者等待被调用者返回信息,才能继续执行
异步:asynchronous,被调用者通过状态、通知或回调机制主动通知调用者被调用者的运行状态

阻塞/非阻塞:关注调用者在等待结果返回之前所处的状态

阻塞:blocking,指IO操作需要彻底完成之后才返回到用户空间,调用结果返回之前,调用者被挂起

非阻塞:nonblocking,指IO操作被调用后立即返回给用户一个状态值,无需等到IO操作彻底完成,最终的调用结果返回之前,调用者不会被挂起

I/O模型:阻塞型、非阻塞型、复用型、信号驱动型、异步

三.五种I/O复用模型详解
1.同步阻塞
技术分享图片

技术分享图片

2.同步非阻塞
技术分享图片

技术分享图片

3.IO多路复用模型
技术分享图片

技术分享图片

多路复用模型使用场景
技术分享图片

4.信号驱动IO模型
技术分享图片

技术分享图片

5.异步非阻塞模型
技术分享图片

技术分享图片

五.种I/O复用模型对比
技术分享图片

六.IO模型的具体实现方式对比

I/O复用模型详解

标签:结构   image   sync   执行   进程模型   复用   回调机制   locking   com   

原文地址:http://blog.51cto.com/anfishr/2308885

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!