muduo网络源码解析(1):多线程异步日志(上)muduo网络源码解析(2):多线程异步日志(中)muduo网络源码解析(3):多线程异步日志(下)muduo网络源码解析(4):TimerQueue定时机制muduo网络源码解析(5):EventLoop,Channel与事件分发机制muduo网络源码解析(6):TcpServer与TcpConnection(上)muduo网络
# muduo网络架构科普 ## 1. 介绍 muduo是一个C++网络,它提供了高效、可靠的网络编程框架,被广泛应用于各种服务器程序的开发中。muduo的设计理念是简单、高效、可扩展,它在网络编程领域有着良好的口碑。 ## 2. muduo网络架构概述 muduo网络架构是基于Reactor模式的,它采用了事件驱动的方式处理网络事件。下面我们来详细介绍muduo网络架构。 #
原创 2024-05-12 04:21:00
123阅读
文章目录一、TcpServer对象构造时,都做了哪些事1.
原创 2022-08-17 16:37:25
120阅读
muduo的线程模型为one loop per thread+thread pool模型,在前面一篇文章的末尾曾简单的提起过:https://blog.csdn.net/qq_41453285/article/details/105104845 本节以一个Sudoku Solver(数独求解)例子为例,回顾了并发网络服务程序的多种设计方案,并介绍了使用muduo网络编写多线程服务器的两种最常用手法 在后面“muduo编程示例”相关文章会展现muduo在编写单线程并发网络服务程序方面的能力与便捷性。本文
原创 2021-08-28 15:55:15
538阅读
muduo的线程模型为one loop per thread+thread pool模型,在前面一篇文章的末尾曾简单的提起过:https://blog..net/qq_41453285/article/details/105104845
原创 2022-01-15 16:50:17
472阅读
文章目录​​1.muduo​​​​2.线程模型​​​​3.TCP网络编程本质​​1.muduomuduo是基于Reactor模式的网络,核心是:事件循环EventLoop,用于相应计时器和IO事件muduo采用基于对象object-based,而非面向对象object-oriented的设计风格muduo的核心是:每个IO线程一个事件循环,把IO事件分发到回调函数上2.线程模型muduo的线程模
原创 2023-03-07 06:09:50
194阅读
总结学习Muduo所需要掌握的背景知识。阻塞非阻塞、同步异步,五种I/O模型,I/O多路复用,select/poll/epoll,epoll原理以及LT和ET模式。
上个月看了朋友推荐的mudo网络,下完代码得知是国内同行的开源作品,甚是敬佩。下了mudo使用手冊和035版的代码看了下结构,感觉是一个比較成熟并且方便使用的网络。本人手头也有自己的网络,尽管不敢说是一个多强大的网络,但毕竟在外网也稳定运营了几年,多组同一时候在线也跑过30w左右,单组ser...
转载 2014-10-10 18:21:00
283阅读
听事件并分发处理"。整个模型采用分层设计,从下至上可分为四个核心层次,各层职责清晰、解耦性强。 Reactor 模式核心流程:注册事件(如可读、可写)→ 反应器监听事件 → 事件触 ...
ubuntu编译muduo报错,在CMakeLists.txt中添加如下。下面添加的是本机执行pkg-config --cflags --libs protobuf的内容,然后./build.sh -j2 即可set(CXX_FLAGS -pthread -I/usr/local/include -pthread -L/usr/local/lib -lprotobu...
原创 2021-06-01 13:13:44
611阅读
耗时一个月,总算是看完一遍再抄写了一遍了,发现很多不错的东西,不过之前只顾着看,没有过多的总结,现在开始讲讲我的心得吧,能力有限,能讲到哪里算哪里。一切尽在注释中。。。文章目录muduo使用案例TcpSerVer 类声明类方法实现muduo使用案例#include<iostream>#include "chatserver.hpp"#include "chatservice.hpp"using
原创 2021-09-16 14:16:24
2742阅读
一、安装依赖# 安装cmakesudo apt-get install cmake # 安装boostsudo apt-get install libboost-dev libboost-test-dev# 三个非必
原创 2023-08-30 14:39:12
287阅读
一、由来2010年3月我写了一篇《学之者生,用之者死——ACE历史与简 评》1,其中提到“我心目中理想的网络”的样子: ·线程安全,原生支持多核多线程。 ·不考虑可移植性,不跨平台,只支持Linux,不支持Windows。 ·主要支持x86-64,兼顾IA32。(实际上muduo也可以运行在ARM 上。) ·不支持UDP,只支持TCP。 ·不支持IPv6,只支持IPv4。 ·不考虑广域网应...
一、由来2010年3月我写了一篇《学之者生,用之者死——ACE历史与简 评》1,其中提到“我心目中理想的网络”的样子: ·线程安全,原生支持多核多线程。 ·不考虑可移植性,不跨平台,只支持Linux,不支持Windows。 ·主要支持x86-,兼顾IA32。(实际上muduo也可以运行在ARM 上。) ·不支持UDP,只支持TCP。 ·不支持IPv6,只支持IPv4。 ·不考虑广域网应...
一、简介Muduo(木铎)是基于 Reactor 模式的网络。二、安装从github下载源码安装:https://github.com/chenshuo/muduomuduo依赖了很多的,所以在安装muduo之前应该安装这些,包括:curl、c-ares、protobuf。前面两个在cent...
转载 2015-10-18 18:18:00
469阅读
2评论
nocopyable//以前的那种是语言级别的,这个是编译器级别的#program once/*原理:派生类的拷贝构造和赋值,肯定要先调用基类的拷贝构造跟赋值采用这种方式,可以让派生类直接无法拷贝构造跟赋值为什么不在子类里面自己delete呢?优雅呗哈哈哈*///作为一个没有拷贝构造函数的基类class nocopyable{public: nocopyable(const nocopyable&) = delete; void operator=(c
原创 2021-09-05 11:40:47
3801阅读
性能对比原则:采用对方的性能测试方案,用muduo实现功能相同 或类似的程序,
nocopyable Logger Timestamp InetAddr
原创 2022-01-15 17:17:35
114阅读
然后判断一个C++可执行文件是debug build还是release build?即判断:一个可执行文件是-O0编译的还是-O2编译的?inline在头文件中
原创 2023-03-12 14:31:11
339阅读
性能对比原则:采用对方的性能测试方案,用muduo实现功能相同 或类似的程序,然后放到相同的软硬件环境中对比。 注意这里的测试只是简单地比较了平均值;其实在严肃的性能对比 中至少还应该考虑分布和百分位数(percentile)的值(http://zedshaw.com/essays/programmer_stats.html、http://www.percona.com/files/presentations/VELOCITY2012-Beyond-the-Numbers.pdf)。限于篇幅, 此处从略
  • 1
  • 2
  • 3
  • 4
  • 5