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