- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 muduo 源码分析(四)一些有趣的设计
目录1. Buffer2. 断开空闲连接2.1 原理2.1.1 自生自灭2.1.2 临时续命2.1.3 多个连接2.2 实现2.2.1 新连接到达2.2.2 定时器超时2.2.3 新消息到来参考文献 1. Buffermuduo的作者对Buffer解释得非常清楚:https://blog.youkuaiyun.com/Solstice/article/d...
2018-08-30 15:49:01
963
原创 muduo 源码分析(三)定时器
1. 使用例子2.类结构:3.实现细节3.1 Add timer3.2 Timeout3.3 Cancel timer本篇介绍一下定时器。muduo里的定时器也是经过精心设计的(这句话好像有点废)。1. 使用例子EventLoop 类提供了4个和定时器相关的接口: // timers /// /// Runs ...
2018-08-17 16:27:20
722
1
原创 muduo 源码分析(二)客户端工作流程
目录 0.简介1.主动连接2.连接成功3.数据收发和关闭连接0.简介上一篇已讲述了服务端整个工作流程,本篇大致分析一下客户端。客户端相对简单,它只负责一个连接,成功连接到服务端后,即可进行正常的数据交互。和服务端相对应的,客户端代码由TcpClient类发起,TcpClient里包含一个Connector(回想一下Acceptor),等连接建立后,也是依赖TcpCo...
2018-07-30 10:57:15
392
原创 muduo 源码分析(一)服务端工作流程
目录0.简介1. 各个类的作用:TcpServer AcceptorTcpConnectionEventLoopThreadPoolEventLoopThreadEventLoopPollerChannel2. 启动3. 新连接到来4. 数据收发收数据发数据5. 关闭连接主动关闭被动关闭参考文献0.简介最近才拜读了...
2018-07-25 15:12:56
1496
原创 Multi-thread in Qt
目录Qt 多线程概览如何使用创建线程启动线程终止线程停止QThread停止QRunnable停止QtConcurrent::run()QThread 实现细节QThread::start()QThreadPrivate::start()QThreadPrivate::finish()QThread::wait()QThreadPool工作...
2018-07-20 15:20:49
2889
原创 《泛型编程与STL》读书笔记
本书从概念和设计上讲述了泛型编程。个人认为只需要阅读前面九章即可(实际上我只读了前面七章),后面章节是一些算法和API的讲述,可以在用到的时候再来查阅。全书N次提到concept,model以及refinement这几个概念。Concept是指一组具有某种相同特性的类型。比如Input Iterator,可以通过它来读取容器的元素,也可以对它进行加一操作;这样的Input Iterator...
2015-01-05 17:01:05
1992
原创 《Effective STL》读书笔记
工作之后更多地接触到STL,在项目中STL的使用更是屡见不鲜。最近在看此书,有必要小小地总结一下。1.用empty()而不用size()==0去判断容器是否为空从功能上看,两者是一样的。但性能上可能会有所差别。对于vector而言,size()其实就是end()-begin(), 因为它是连续内存分布,所以这样计算size的时间复杂度是O(1)。但对于list这类非连续内存的容器来说,只能
2014-12-18 22:41:55
622
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人