首页 > 编程语言 >长文梳理muduo网络库核心代码及优秀编程细节剖析

长文梳理muduo网络库核心代码及优秀编程细节剖析

时间:2022-09-20 18:13:21浏览次数:103  
标签:muduo 编程 描述符 fd 事件 监听器 长文 Poller Channel

前言

Muduo库是陈硕个人开发的Tcp网络编程库,支持Reactor模型,想学习网络库的话,也推荐大家阅读陈硕写的《Linux多线程服务端编程:使用muduo C++网络库》。本人前段时间出于个人学习、找工作的目的用C++11重构了Muduo库中核心的Reactor架构。这篇博文对Muduo库中的Multi-Reactor架构代码进行逻辑梳理,同时认真剖析了作者每一处精妙的代码设计思想。目前我只重构并剖析了Muduo库中的核心部分,即Multi-Reactor架构部分,具体细分有以下几个模块:

  1. 网络相关模块:如Socket、InetAddress、TcpConnection、Acceptor、TcpServer等
  2. 事件循环相关模块:如EventLoop、Channel、Poller、EPollPoller等
  3. 线程相关模块:如Thread、EventLoopThread、EventLoopThreadPool等
  4. 基础模块:如用户态缓冲区Buffer、时间戳Timestamp、日志类Logger等

我的个人Github代码地址:[

标签:muduo,编程,描述符,fd,事件,监听器,长文,Poller,Channel
From: https://www.cnblogs.com/S1mpleBug/p/16712003.html

相关文章

  • java unicode编程
    publicclassdemo{publicstaticvoidmain(String[]args){//\u000d\u0074\u0072\u0079{//\u000d\u0069\u006e\u0074\u0020\u......
  • 2022软工K班个人编程任务01提取疫情数据
    @目录一、PSP表格(2.1)在开始实现程序之前,在附录提供的PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间。(2.2)在你实现完程序之后,在附录提供的PSP表格记录下你......
  • fh-2022算法考试编程题-2
    小A有一套特殊的卡牌,他们是1-N的数字的排列,每个数字有且仅有一张卡。小A在洗牌之后,会把卡牌并排放在地上。小A总是在通过卡牌的交换位置来获得1,2,3....N的序列。假如初......
  • Java高并发编程详解 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1_2jbvt1OecV4j3uN59DxYQ点击这里获取提取码 ......
  • 面向对象编程三大特征(封装、继承和多态)
    1基本介绍面向对象编程有三大特征:封装、继承和多态。2封装介绍3封装的理解和好处4封装的实现步骤(三步)5案例不能随便查看人的年龄,工资等隐私,并对设置的年......
  • Python多线程编程——threading模块
    本文参考:https://blog.csdn.net/youngwyj/article/details/124720041https://blog.csdn.net/youngwyj/article/details/124833126目录前言threading模块1.简介2.创建线......
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
    很多人学编程经常是脑子一热然后就去网上一搜资源就开始学习了,但学到了后面发现目前所学的东西并不是自己最喜欢的,好像自己更喜欢另一个技术,感觉自己学错了,于是乎又去学习......
  • python GUI编程
    GUI英文全称是GraphicalUserInterface,中文为图形用户接口。tkinter是pythonGUI编程的一个库。主要分为三步,首先建立一个窗口(设置参数),然后在窗口上放置组件(文本框、......
  • python 网络编程
    IP地址联网设备(电脑)每次介入网络,都会按照网络的规则,分配身份证号码,每个IP地址对应一个设备。每次进入网络IP地址未必相同。查看电脑IP地址windows:ipconfigIP地址就是I......
  • 网络编程 一
    IP地址联网设备(电脑)每次介入网络,都会按照网络的规则,分配身份证号码,每个IP地址对应一个设备。每次进入网络IP地址未必相同。查看电脑IP地址windows:ipconfigIP地址就是I......