摘要: 转自:http://www.cppblog.com/mysileng/The libevent API provides a mechanism to execute a callback function when aspecific event occurs on a file descriptor or after a timeout has beenreached. Furthermore, libevent also support callbacks due to signals orregular timeouts.libevent is meant to replace the 阅读全文
posted @ 2014-01-29 21:35 孤火 阅读(201) 评论(0) 推荐(0) 编辑
摘要: memcached采用的网络模型是早前提到的半同步半异步的网络模型.简单的说,大致流程就是:主线程负责接收新的连接,接收到新的连接之后,选择一个worker副线程,将该新连接push到副线程的连接队列中.主副线程之间通过管道进行通讯,因此主线程将新的连接push到工作线程之后,主线程要向该副线程的管道中写一个字符,而每个副线程也都有自己的poll set, 其中会包含自己的管道fd, 副线程也会通过多路复用I/O来监控管道的情况,一旦可读,说明有新的连接到来,此时从连接队列中取出新连接,将其fd加入到自身的poll set中,最后对该连接的业务逻辑处理也全都在该副线程中进行(读数据,处理,发送 阅读全文
posted @ 2014-01-29 11:07 孤火 阅读(435) 评论(1) 推荐(0) 编辑