自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

uufree的博客

主要是对一些第三方库的解读

  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 <<Effective C++>>读书笔记

谨以此书作为现代C++程序设计的基石没有阅读和模板有关的章节,将已经是常识的概念没有记录使用const enum inline替换#define,便于调试。因为使用#define定义的变量不进入符号表。尽可能在所有的地方使用const重载二元运算符时,防止出现无聊的赋值行为。const Blas& operator+(const Blas& lhs,const Blas& rhs);if(a*

2017-05-18 16:58:36 253

原创 浅析muduo库中的定时器设施

一个设计良好的定时器在服务端的应用程序上至关重要,muduo定时器的实现陈硕大牛在书中已经详细的谈过,笔者尝试从源码的角度解读定时器的实现,如果理解不对,欢迎指正。在muduo的定时器系统中,一共由四个类:Timestamp,Timer,TimeId,TimerQueue组成。其中最关键的是Timer和TimerQueue两个类。此文只解释初读时让人非常迷惑的TimerQueue类,这个类是整个定时

2017-05-04 15:19:05 1680 1

原创 现代C++的回调技术--使用std::bind和std::function

最近在读完陈硕大牛的《Linux多线程服务端编程》以及muduo源码后,对其中的一些实现细节有着十分深刻的印象,尤其是使用std::bind和std::function的回调技术。可以说,这两个大杀器简直就是现代C++的“任督二脉”,甚至可以解决继承时的虚函数指代不清的问题。在此详细叙述使用std::bind和std::function在C++对象之间的用法,用以配合解决事件驱动的编程模型。

2017-03-12 17:08:25 5097 1

原创 muduo中的TcpServer一次完整的工作(下)

模拟单线程情况下muduo库的工作情况在上篇中,笔者追踪了Connetfd(连接套接字)和Listenfd(监听套接字)的Channel对象加入到loop循环的过程。其中包括了网络连接过程中,muduo会创建的对象。本文将会追踪Connetfd(连接套接字)和Listenfd(监听套接字)从loop循环退出并且销毁,一直到main函数终止的过程。

2017-03-08 15:25:38 526

原创 muduo中的TcpServer一次完整的工作(上)

模拟单线程情况下muduo库的工作情况muduo的源代码对于一个初学者来说还是有一些复杂的,其中有很多的回调函数以及交叉的组件,下面我将追踪一次TCP连接过程中发生的事情,不会出现用户态的源码,都是库内部的运行机制。下文笔者将描述一次连接发生的过程,将Channel到加入到loop循环为止。监听套接字加入loop循环的完整过程

2017-03-08 15:24:22 1402

原创 浅析muduo库中的线程设施03

最后,向大家介绍muduo库中对于线程池的封装的理解。最重要的想法就是线程池将线程看为自己可执行的最小并且可随时增加的单位。整个线程池对象维持两个任务队列,threads_表示目前正在运行中的线程池,queue_表示位于存储队列中的等待线程。thread_在运行的过程中使用while循环+条件变量判断当前的活动线程池中是否有空位,以及新的等待线程进入线程池。线程池从一开始就确定了自己将要运行

2017-02-19 11:10:01 414

原创 浅析muduo库中的线程设施02

接下来,聊一聊主题–Thread/***Thread.h***/class Thread : boost::noncopyable //禁止拷贝{ public: typedef boost::function<void ()> ThreadFunc;//仿函数对象,利用回调的方式使用线程函数 explicit Thread(const ThreadFunc&, const stri

2017-02-19 11:04:06 272

原创 浅析muduo库中的线程设施01

浅析muduo网络库中的线程设施01

2017-02-17 23:36:30 333

EffectIve C++

Effective C++。

2018-03-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除