Muduo源代码分析
有时需要偏执狂
一定要搞懂,千万不要心存侥幸,否则一些问题会让你痛苦不堪(源码面前,了无秘密)。
拥有一某三分地不容易,贵在坚持。
展开
-
Muduo-时间类Timestamp.h
占位原创 2018-01-13 19:09:57 · 592 阅读 · 1 评论 -
Muduo-原子操作类Atomic.h
占位原创 2018-01-13 19:11:20 · 665 阅读 · 0 评论 -
Muduo-异常类Exception.h
占位原创 2018-01-13 19:13:01 · 826 阅读 · 0 评论 -
Muduo-日期类Date.h
占位原创 2018-01-13 19:15:21 · 623 阅读 · 0 评论 -
Muduo之封装CurrentThread、Thread、ThreadPool
基础知识 1、CurrentThread 2、Thread 3、ThreadPool 大多数的网络服务器,包括Web服务器都具有一个特点,就是单位时间内必须处理数目巨大的连接请求,但是处理时间却是比较短的。在传统的多线程服务器模型中是这样实现的:一旦有个请求到达,就创建一个新的线程,由该线程执行任务,任务执行完毕之后,线程就退出。这就是”即时创建,即时销毁”的策略。尽管与创建进程相比,...原创 2018-02-09 11:04:05 · 558 阅读 · 0 评论 -
Muduo之封装BlockingQueue、BoundedBlockingQueue
阻塞队列介绍 阻塞队列首先是一个队列,数据可以由队列的一端输入,从另外一端输出。多线程环境中,通过队列可以很容易实现数据共享,比如经典的“生产者”和“消费者”模型。假设我们有若干生产者线程,另外又有若干个消费者线程。如果生产者线程需要把准备好的数据共享给消费者线程,利用队列的方式来传递数据,就可以很方便地解决他们之间的数据共享问题。但如果生产者和消费者在某个时间段内,万一发生数据处理速度不...原创 2018-02-08 15:37:26 · 296 阅读 · 0 评论 -
Muduo之封装Mutex和Condition
必要的预备知识: Linux提供的进行同步原语解释 1、RAII手法 RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。 RAII的一般做法:在对象构造时获取资源(互斥量上锁),接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在对象析构的...原创 2018-02-05 14:59:19 · 582 阅读 · 0 评论 -
Muduo之封装ThreadLocal、ThreadLocalSingleton
基础知识: Linux线程基础知识 1、ThreadLocal ThreadLocal可以叫做Thread的局部变量,通过ThreadLocal创建的对象每个线程都拥有其副本被各自线程独有,操作其对象不会造成线程不安全。这是通过封装Linux操作系统提供的线程特定数据实现,封装也比较简单,不涉及技巧。 template<typename T> class ThreadLocal...原创 2018-02-08 15:22:23 · 673 阅读 · 0 评论