2017年11月9日
摘要: 一、EPOLL的优点 <!--more--> 在Linux中,select/poll/epoll是I/O多路复用的三种方式,epoll是Linux系统上独有的高效率I/O多路复用方式,区别于select/poll。先说select/poll的缺点,以体现epoll的优点。 select: (1)可监 阅读全文
posted @ 2017-11-09 10:54 我是修行者 阅读(642) 评论(0) 推荐(0) 编辑
  2017年10月31日
摘要: 一、一般来说实现一个线程池主要包括以下几个组成部分: 1)线程管理器 :用于创建并管理线程池 。 2)工作线程 :线程池中实际执行任务的线程 。 在初始化线程时会预先创建好固定数目的线程在池中 ,这些初始化的线程一般是处于空闲状态 ,不消耗CPU,占用较小的内存空间 。 3)任务接口 :每个任务必须 阅读全文
posted @ 2017-10-31 15:25 我是修行者 阅读(4630) 评论(0) 推荐(0) 编辑
  2017年10月23日
摘要: 本系列文章将在《Libevent源码深度解剖》的基础上,结合Libevent-2.0.22代码,更新了其中的一些定义和说明,以及加上了bufferevent部分。 一、Libevent整个事件处理框架 1. 关于Reactor模式 2. Libevent工作流程图 3. Libevent整个编程要点 阅读全文
posted @ 2017-10-23 17:44 我是修行者 阅读(222) 评论(0) 推荐(0) 编辑
  2017年10月14日
摘要: 前言:在学习libevent代码时,看到一个关于时间最小堆的用法,于是想填一下堆排序算法这个坑。花费了大概两天时间才算是搞清楚了,于是有了这篇博文,以此记录。 首先,什么是堆排序算法呢? 顾名思义,就是基于堆的排序算法^^。那么堆排序算法就分为两步:第一步是建立一个堆,第二步就是排序。 堆有大小堆之 阅读全文
posted @ 2017-10-14 12:07 我是修行者 阅读(403) 评论(0) 推荐(0) 编辑
  2017年1月20日
摘要: 先做一个简单的记录,后续有时间再慢慢完善补充细节。 先上一个整体图片: 其中,最重要的文件就是:program_template.mk。 下面是program_template.mk最重要的内容: 最重要的内容已列出,后续有时间再慢慢完善一些细节,有对Makefile有兴趣的朋友可以探讨交流。 阅读全文
posted @ 2017-01-20 09:09 我是修行者 阅读(383) 评论(0) 推荐(0) 编辑
  2017年1月2日
摘要: 如题 可能的原因: 1. 不合适自己 很简单,道理或者理论那么多,虽然你是人,但是并不是所有的都适合于你,请注意甄别,不多说。 2. 道理本身就是错的,或者它有前提条件的 之前经常看到什么所谓的“穷游”论,或者“世界那么大,我想去看看”,恨不得全世界人民不上班了,个个都任性一把穷游去。有时候,我莫名 阅读全文
posted @ 2017-01-02 16:53 我是修行者 阅读(611) 评论(0) 推荐(0) 编辑