![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
libevent学习
morning_sir_jking
这个作者很懒,什么都没留下…
展开
-
libevent 入门教程:Echo Server based on libevent(转)
下面假定已经学习过基本的socket编程(socket, bind, listen, accept, connect, recv, send, close),并且对异步/callback有基本的认识。 基本的socket编程是阻塞/同步的,每个操作除非已经完成或者出错才会返回,这样对于每一个请求,要使用一个线程或者单独的进程去处理,系统资源没法支撑大量的请求。Posix定义了可以使转载 2016-07-06 11:51:54 · 518 阅读 · 0 评论 -
处理大并发之二 对epoll的理解,epoll客户端服务端代码
处理大并发之二 对epoll的理解,epoll客户端服务端代码 序言: 该博客是一系列的博客,首先从最基础的epoll说起,然后研究libevent源码及使用方法,最后研究nginx和node.js,关于select,poll这里不做说明,只说明其相对于epoll的不足,其实select和poll我也没用过,因为我选择了epoll。 说起epoll,做过大并发的估计都不陌生,之转载 2016-07-06 14:02:49 · 3311 阅读 · 1 评论 -
处理大并发之四 libevent demo详细分析(对比epoll)
处理大并发之四 libevent demo详细分析(对比epoll) libevent默认情况下是单线程,每个线程有且仅有一个event_base,对应一个struct event_base结构体,以及赋予其上的事件管理器,用来安排托管给它的一系列的事件。 当有一个事件发生的时候,event_base会在合适的时间去调用绑定在这个事件上的函数,直到这个函数执行完成,然后在返回安排其他事转载 2016-07-06 14:18:19 · 521 阅读 · 0 评论 -
处理大并发之五 使用libevent利器bufferevent
处理大并发之五 使用libevent利器bufferevent 首先来翻译一段文章 你可能注意到随着我们代码变得越来越高效,程序也变得更加复杂。当我们产生一个进程的时候,我们没有必要为每一个链接管理一个buffer,我们只需要每个处理独立栈分配缓冲区就可以了。在读和写的时候,我们不必明确的跟踪每一个socket,这在我们的代码里是一个暗示,我们没有必转载 2016-07-06 15:11:53 · 361 阅读 · 0 评论