memcache研究笔记 之 多线程接入的交互

本文解析了MC服务端多线程模型的工作原理。主线程负责接收新连接并分配给worker线程处理,worker线程通过事件循环监听事件。主线程与worker线程间通过管道通信,实现任务调度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mc主线程启动,worker线程启动
主线程和work线程初始化event_base, 然后event_base_loop
worker线程创建管道,notify_receive_fd  event_add  到所在的event_base上
有新请求接入,主线程处理函数event_handler回调
driver_machin()处理conn_listening状态,dispatch_conn_new分发新的fd
选择一个worker线程,填充CQ队列,通过管道端notify_send_fd告知worker线程
此时处理转移到worker线程,thread_libevent_process进行回调
worker线程取出CQ队列item,创建新的conn(state:conn_new_cmd),绑定event_handler回调事件
当前conn发生的事件均回调到event_handler


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值