- 博客(4)
- 收藏
- 关注
原创 muduo网络库设计与实现(三)
muduo网络库设计与实现(三)文章目录muduo网络库设计与实现(三)多线程网络库EventLoopThreadPoolTcpServer的修改TcpClient & Connector多线程网络库其实要在前文构建的单线程网络库扩展到多线程是非常简单的。我们回顾一下muduo的多线程框架,有一个main Reactor负责accept连接,然后把连接挂在某个sub Reactor中,这里的连接具体是什么,是TcpConnection对象,所以我们需要做如下修改:定义一个IO线程池的类Ev
2021-05-08 17:28:59 235
原创 muduo网络库设计与实现(二)
muduo网络库设计与实现(一)文章目录muduo网络库设计与实现(一)baseInetAddressSocket单线程网络库AcceptorTcpServerTcpConnectionBufferecho server 例子主要类的包含关系echo server连接信息到达信息发送关闭连接前面一节已经实现了Reactor事件处理框架,这节我们逐步实现一个单线程非阻塞TCP网络编程库,主要包括:Accepter:用于接受TCP连接,它是TcpServer的成员TcpServer:用于编写网络服务器
2021-05-08 17:25:54 440
原创 muduo网络库设计与实现(一)
muduo网络库设计与实现(一)文章目录muduo网络库设计与实现(一)basenoncopyableMutexConditionCountDownLatchCurrentThreadThreadReactor模型muduo多线程模型EventLoopChannelEpollerTimerQueueEventLoopThread这是根据陈硕的《linux多线程服务端编程》中的“ muduo网络库设计与实现”部分写的简单笔记。具体代码可以参考陈硕的github。虽然大体框架一样,但也有些许不同,文章最后也
2021-05-08 17:24:02 545
原创 epoll解析
epoll解析目录文章目录epoll解析目录epoll 系统调用epoll_createepoll_ctlepoll_wait为什么使用epollselectpollepoll的设计思路epoll原理和流程创建epoll对象维护监视列表接收数据阻塞和唤醒进程epoll相关数据结构epoll源码主要数据解构函数主要功能面经epoll 系统调用epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,从而无需像select和poll那样每次调用都要重复传入文件描述符或事件集。但epoll需要使用
2021-04-25 17:29:09 305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人