Reactor模型
Reactor一共有四种模型
单Reactor单线程、进程
理解:Reactor负责监听事件(epoll_wait),事件发生之后根据事件类型分发给不同的对象,连接事件分发给Acceptor对象(accept),通信事件分发给Handler对象(read→业务处理→send),均在一个线程内完成
单Reactor多线程、进程
理解:Reactor负责监听事件(epoll_wait),事件发生之后根据事件类型分发给不同的对象,连接事件分发给Acceptor对象(accept),通信事件分发给Handler对象(read,send),这些操作在一个线程内完成,业务处理交给其它线程
多Reactor多进程/线程
理解:MainReactor负责监听事件(epoll_wait),连接事件交给Acceptor对象(accept),这两个操作在主线程完成,建立连接之后,将通信套接字传递给子线程SubReactor对象(监听通信事件epoll_wait),通信事件事件发生之后分发给Handler对象(read→业务处理→send)。
Proactor模型