在线做爰直播网站,百度网站惩罚期,网站建设 6万元,专业建网站设计公司一、Reactor模式
Reactor模式#xff0c;它要求主线程#xff08;I/O处理单元#xff09;只负责监听文件描述符上是否有事件发生#xff0c;有的话就立即将该事件通知工作线程#xff08;逻辑单元#xff09;。除此之外#xff0c;主线程#xff08;I/O处理单元#… 一、Reactor模式
Reactor模式它要求主线程I/O处理单元只负责监听文件描述符上是否有事件发生有的话就立即将该事件通知工作线程逻辑单元。除此之外主线程I/O处理单元不作任何其他实质性工作。读写数据接收新的连接以及处理客户请求均在工作线程逻辑单元完成。
使用同步I/O模型以epoll_wait为例实现的Reactor模式的工作流程是
主线程往epoll内核事件表中注册socket读就绪事件主线程调用epoll_wait等待socket上有数据可读当socket上有数据可读时epoll_wait通知主线程。主线程则将socket可读事件放入请求队列睡眠在请求队列上的某个工作线程被唤醒它从socket读取数据并处理客户请求然后往epoll内核事件表中注册该socket上的写就绪事件主线程调用epoll_wait等待socket可写当socket可写时epoll_wait通知主线程主线程将socket可写事件放入请求队列睡眠在请求队列上的某个工作线程被唤醒它往socket上写入服务器处理客户请求的结果。