随笔分类 - libevent
摘要:libevent的evhttp不适合多线程,libevhtp重新设计了libevent的http API,采用了和memcached类似的多线程模型。 worker线程的管道读事件的回调函数为htp__run_in_thread_: htp__connection_accept_函数如下: 此时,c
阅读全文
摘要:直接上图: memcached使用多线程模型,一个master线程,多个worker线程,master和worker通过管道实现通信。 每个worker线程有一个队列,队列元素为CQ_ITEM。 memcached使用libevent实现事件监听,master和worker各有一个event_bas
阅读全文
摘要:在libevent(六)http server中,作为一个单线程http server,不仅要监听每个连接的到来,还要监听每个连接上的I/O事件。 查看源码可知,在evhttp_bind_socket中设置了accept的回调函数:accept_socket_cb。 两个重要函数: evhttp_g
阅读全文
摘要:用libevent构建一个http server非常方便,可参考libevent(六)http server。 主要涉及的一个结构体是evhttp: 值得关注的有两个成员: callbacks,一个链表,存放用户定义的回调函数 connections,一个链表,存放所有连接,每个连接对应一个evht
阅读全文

浙公网安备 33010602011771号