看了很多关于reactor和proactor的文章的介绍,但是感觉还是没有看懂这两者的区别是什么。
现在是要在这篇文章里面整理下这些文章的思路,同时也是整理下我的思路。
https://zhuanlan.zhihu.com/p/101419040
似乎这篇文章讲的不错
Reactor:
1.fd(文件描述符)
也就是我们监听的对象
2.同步事件多路分离器(event demultiplexer)
即事件循环(event loop),一般也可以理解为多路复用,epoll
3.event handler
4.concrete event handler
5.reactor 管理器
以上是一个reactor模式的基本模块,但是我们经常可以看到并发/多线程网络编程。
所以我们怎么利用reactor来实现这种模型呢?
有单线程的多路复用方式,有多线程并发多路的方式
muduo是怎样使用的呢?
ok,陈硕使用了sudoku的例子来说明这个问题。怎么充分利用多CPU的性能。
那就是多线程多reactor的模式
那什么是proactor呢?