服务器端高性能IO模型介绍

服务器端高性能IO模型介绍,常见的IO模型有四种:

1.同步阻塞IO:传统的IO模型
2.同步非阻塞IO:默认的socket都是阻塞的,非阻塞IO要求socket被设置成NONBLOCK
3.IO多路复用:即经典的Reactor设计模式,异步阻塞io,select epoll属于这种
4.异步IO:经典的Proactor设计模式,异步非阻塞

同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数

阻塞和非阻塞的概念描述的是用户线程调用内核IO操作的方式:阻塞是指IO操作需要彻底完成后才返回到用户空间;而非阻塞是指IO操作被调用后立即返回给用户一个状态值,无需等到IO操作彻底完成

猜你喜欢

转载自blog.csdn.net/weixin_43094478/article/details/82192519