libevent源码深度剖析四——libevent源代码文件组织1 
前言详细分析源代码之前,如果能对其代码文件的基本结构有个大概的认识和分类,对于代码的分析将是大有裨益的。本节内容不多,我想并不是说它不重要!2 
源代码组织结构Libevent的源代码虽然都在一层文件夹下面,但是其代码分类还是相当清晰...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 19:01:03   
                                阅读次数:
276
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析五——libevent的核心:事件event张亮对事件处理流程有了高层的认识后,本节将详细介绍libevent的核心结构event,以及libevent对event的管理。1 
libevent的核心-event Libevent是基于事件驱动(event-driven)的...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 19:00:00   
                                阅读次数:
307
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析二——Reactor模式张亮前面讲到,整个libevent本身就是一个Reactor,因此本节将专门对Reactor模式进行必要的介绍,并列出libevnet中的几个重要组件和Reactor的对应关系,在后面的章节中可能还会提到本节介绍的基本概念。1 
Reactor的事件...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 18:43:39   
                                阅读次数:
292
                             
                         
                    
                        
                            
                            
                                libevent 源码深度剖析十三 —— libevent 信号处理注意点 前面讲到了 
libevent 实现多线程的方法,然而在多线程的环境中注册信号事件,还是有一些情况需要小心处理,那就是不能在多个 libevent 
实例上注册信号事件。依然冠名追加到 libevent 系列。以 2 个线...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 18:27:09   
                                阅读次数:
222
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析八——集成信号处理张亮 
现在我们已经了解了libevent的基本框架:事件管理框架和事件主循环。上节提到了libevent中I/O事件和Signal以及Timer事件的集成,这一节将分析如何将Signal集成到事件主循环的框架中。1 
集成策略——使用socket pair...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 09:43:45   
                                阅读次数:
340
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析十二——让libevent支持多线程张亮 
Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libevent,跟源代码并没有太大的关系,纯粹是使用上的技巧。1 
错误使用示例 在多核的CPU上只使用一个线程始...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 09:43:05   
                                阅读次数:
347
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析七——事件主循环张亮 
现在我们已经初步了解了libevent的Reactor组件——event_base和事件管理框架,接下来就是libevent事件处理的中心部分——事件主循环,根据系统提供的事件多路分发机制执行事件循环,对已注册的就绪事件,调用注册事件的回调函数来处理...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 09:19:19   
                                阅读次数:
337
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析十一——时间管理张亮 
为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等。下面就结合源代码来分析一下。1 
初始化检测 Libevent在初始化时会检测系统时间的类型,通过...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 09:16:50   
                                阅读次数:
299
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析十——支持I/O多路复用技术张亮 
Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 08:58:03   
                                阅读次数:
345
                             
                         
                    
                        
                            
                            
                                libevent源码深度剖析九——集成定时器事件张亮 
现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多。Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法。1 
集成到事件主循环 因为系统的I/O机制像sel...
                            
                            
                                分类:
其他好文   时间:
2014-05-16 08:50:36   
                                阅读次数:
329