memcache线程模型

单进程(工作进程)多线程半异步半同步框架

底层异步使用libevent,每个线程一个event_base 进行异步事件驱动。

每个线程一个fd队列,master线程accept一个fd后根据rr算法把fd插入到某个线程的fd队列,然后通过管道向该线程发送一个字符“c”,通知该线程,线程异步监控到管道可读,如果读取到‘c’字符,则从队列中获取fd,并把fd加入到对应的event_base中进行监听。

event_handler是所有事件的回调函数,里面通过状态机处理fd的各种事件。

初始化多个锁,在处理item时对key进行hash选取某个锁,对该item的相关操作都通过这个锁进行同步。(会导致多个key的item使用了同一个锁)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值