logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

libevent源码深度剖析十一

转自 http://blog.csdn.net/sparkliang/article/details/5105470    为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等。下面就结合源代码来分析一下。1 初始化检测    Libevent在初始化时会检测系统时间的类

#windows#linux
libevent源码深度剖析一

转自 http://blog.csdn.net/sparkliang/article/details/49576671 前言Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libeven

#网络#数据结构#设计模式
libevent源码深度剖析五

转自 http://blog.csdn.net/sparkliang/article/details/4974876对事件处理流程有了高层的认识后,本节将详细介绍libevent的核心结构event,以及libevent对event的管理。1 libevent的核心-event      Libevent是基于事件驱动(event-driven)的,从名字也可以看到ev

#list
libevent源码深度剖析十二

转自 http://blog.csdn.net/sparkliang/article/details/5130822   Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libevent,跟源代码并没有太大的关系,纯粹是使用上的技巧。1 错误使用示例     在多核的CPU上只使用一个线程始终是对不起C

#memcached
libevent源码深度剖析十

转自 http://blog.csdn.net/sparkliang/article/details/5105392      Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就来分析一下。

#linux#windows#unix
libevent源码深度剖析九

转自 http://blog.csdn.net/sparkliang/article/details/5054473     现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多。Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法。1 集成到事件主循环     因为系统的I/O机制

#数据结构
libevent源码深度剖析六

转自 http://blog.csdn.net/sparkliang/article/details/4985955 前面已经对libevent的事件处理框架和event结构体做了描述,现在是时候剖析libevent对事件的详细处理流程了,本节将分析libevent的事件处理框架event_base和libevent注册、删除事件的具体流程,可结合前一节libevent对event

libevent源码深度剖析四

转自 http://blog.csdn.net/sparkliang/article/details/4957885——libevent源代码文件组织1 前言详细分析源代码之前,如果能对其代码文件的基本结构有个大概的认识和分类,对于代码的分析将是大有裨益的。本节内容不多,我想并不是说它不重要!2 源代码组织结构Libevent的源代码虽然都在一层文件夹下面,

#数据结构
libevent 源码深度剖析十三

转自 http://blog.csdn.net/sparkliang/article/details/5306809前面讲到了 libevent 实现多线程的方法,然而在多线程的环境中注册信号事件,还是有一些情况需要小心处理,那就是不能在多个 libevent 实例上注册信号事件。依然冠名追加到 libevent 系列。 以 2 个线程为例,做简单的场景分析。1 首先是

#memcached
libevent源码深度剖析七

转自 http://blog.csdn.net/sparkliang/article/details/4987751     现在我们已经初步了解了libevent的Reactor组件——event_base和事件管理框架,接下来就是libevent事件处理的中心部分——事件主循环,根据系统提供的事件多路分发机制执行事件循环,对已注册的就绪事件,调用注册事件的回调函数来处理事件。

#数据结构
    共 19 条
  • 1
  • 2
  • 请选择