摘要: muduo提供了基于底层事件循环的定时器,通过底层提供的特殊文件描述符timerfd实现。TimerId、Timer和TimerQueue是定时器的主要实现类。 timerfd timerfd是linux提供的基于文件描述符的定时器接口。他通过文件描述符与定时器关联,当定时器到期时,文件描述符会变为 阅读全文
posted @ 2025-02-22 17:44 xiaodao0036 阅读(5) 评论(0) 推荐(0) 编辑
摘要: Acceptor Acceptor类是连接的处理器,负责监听并处理到来的新连接 class Acceptor : noncopyable { public: typedef std::function<void (int sockfd, const InetAddress&)> NewConnect 阅读全文
posted @ 2025-02-15 16:02 xiaodao0036 阅读(11) 评论(0) 推荐(0) 编辑
摘要: muduo网络库核心设计为one loop one thread,即一个线程一个事件循环。其中,主Reactor负责监听新连接,并将新连接平均分配到从Reactor中,而从Reactor则对分配到其上的用户进行io交互,接收并处理用户发来的数据,包括消息的回复(实际上,在使用中需要手动设置React 阅读全文
posted @ 2025-02-15 16:01 xiaodao0036 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Channel类、EventLoop类和Poller类是muduo库网络架构中Reactor的重要组成部分。在muduo网络库(即Reactor模式)中,Reactor是一个中心调度器,负责监听所有的文件描述符,当文件描述符就绪,即事件发生时,调度器将事件分配给相应的事件处理器进行处理。如图(网上找 阅读全文
posted @ 2025-02-15 15:48 xiaodao0036 阅读(10) 评论(0) 推荐(0) 编辑
摘要: TimeStamp TiemStamp类是muduo中的时间戳类,用于获取当前时间的格式化字符串。 成员变量 int64_t microSecondsSinceEpoch_; TimeStamp类只有一个成员变量microSecondsSinceEpoch_,它保存了从1970年1月1日00:00: 阅读全文
posted @ 2025-02-15 15:44 xiaodao0036 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 前言 Muduo 是一个基于 Reactor 模式的高性能 C++ 网络库,由陈硕大佬开发,主要用于 Linux 环境下的多线程服务器编程。它强调易用性和高性能,适合开发高并发的网络应用。 由于muduo库没有大规模的模版元编程和泛型编程(这里不得不点名一下Boost)以及其他非常负责抽象的设计,同 阅读全文
posted @ 2025-02-15 15:42 xiaodao0036 阅读(8) 评论(0) 推荐(0) 编辑
摘要: C++中值传递和引用传递的区别 值传递:在函数调用时,传递的是实际参数的副本,因此函数内对参数的修改不会影响到实际参数。 引用传递:在函数调用时,传递的是实际参数的引用,因此函数内对参数的修改会影响到实际参数。 值传递 示例代码: class A{ public: A() { std::cout < 阅读全文
posted @ 2025-01-04 13:25 xiaodao0036 阅读(40) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示