前面IO模型中有提到IO多路复用,这里介绍下linux下的三种机制(基于多路复用模型的)
select,poll,epoll
反应器模式Reactor和Proactor模式
两者的主要区别是就是真正的读取和写入操作是由谁来完成的
Reactor中需要应用程序自己读取或者写入数据
Proactor模式,应用程序不需要进行实际的读写过程,它只需要从缓存区读取或者写入即可,操作系统会读取缓存区或者写入缓存区到真正的IO的设备
Reactor(反应器模式)
说明你可以进行读写操作了,关注的是IO操作的就绪事件(采用同步IO)
Proactor
说明已经完成完成读写操作了,具体内存在给定缓存区中,可以对这些内容进行其它操作了,关注的是IO操作的完成事件(采用异步IO)
原文地址:https://www.cnblogs.com/hpzhu/p/10196547.html
时间: 2024-09-29 11:17:55