- 博客(13)
- 资源 (1)
- 收藏
- 关注
转载 信号量 互斥锁 条件变量的区别
互斥锁pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;或pthread_mutex_t mutex;int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr)int pthread_mutex_lock(pthread_mutex
2015-05-06 17:49:07
595
转载 信号量 互斥锁 条件变量的区别(讲的很好,值得收藏)
来自:http://blog.chinaunix.net/space.php?uid=23061624&do=blog&cuid=2127853 信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到
2015-05-06 17:47:01
331
原创 Reactor 模式 EventLoop类
non-blocking IO + IO multiplexing 即 Reactor 模式 程序的基本结构是一个事件循环(event loop),以事件驱动(event-driven)和事件回调的方式实现业务逻辑伪代码:while(true){ int timeout_ms=max(1000,getNexTimedCallback()); int
2015-04-27 12:05:44
765
原创 muduo channel 类
muduo channel类当个socket的事件分发器:核心函数:void Channel::handleEventWithGuard(Timestamp receiveTime){ eventHandling_ = true; LOG_TRACE if ((revents_ & POLLHUP) && !(revents_ & POLLIN)) {
2015-04-27 10:42:55
633
转载 Memcached源码分析之内存管理
先再说明一下,我本次分析的memcached版本是1.4.20,有些旧的版本关于内存管理的机制和数据结构与1.4.20有一定的差异(本文中会提到)。一)模型分析在开始解剖memcached关于内存管理的源代码之前,先宏观上分析一下memcached内存管理的模型是怎样子的:提个建议,我觉得memcached内存管理的模型与我们平时做作业的作业本“画格子给我们往格子里面写字”的逻
2015-04-27 10:14:13
316
翻译 TCP分包方法 && 粘包处理策略
针对三种不同的粘包现象,分包算法分别采取了相应的解决办法。其基本思路是首先将待处理的接收数据流(长度设为m)强行转换成预定的结构数据形式,并从中取出结构数据长度字段,而后根据n计算得到第一包数据长度。1)若n2)若n=m,则表明数据流内容恰好是一完整结构数据,直接将其存入临时缓冲区即可。 3)若n>m,则表明数据流内容尚不够构成一完整结构数据,需留待与下一包数据合并后再行处理。
2015-04-27 09:13:18
2034
转载 memcached 源码分析之请求处理(状态机)
转自 http://calixwu.com/2014/11/memcached-yuanmafenxi-qingqiuchuli-zhuangtaiji.html
2015-01-22 09:38:02
337
转载 Memcached源码分析之线程模型
转自 http://calixwu.com/2014/11/memcached-yuanmafenxi-xianchengmoxing.html一)模型分析memcached到底是如何处理我们的网络连接的?memcached通过epoll(使用libevent,下面具体再讲)实现异步的服务器,但仍然使用多线程,主要有两种线程,分别是“主线程”和“worker线程”,一个主线
2015-01-21 13:54:30
339
转载 Memcached源码分析
转自 http://calixwu.com/2014/11/memcached-yuanmafenxi.html最近研究了一下memcached的源码,在这里系统总结了一下笔记和理解,写了几 篇源码分析和大家分享,整个系列分为“结构篇”和“源码篇”,建议先从结构篇开始看起,要特别说明的是我本次分析的是memcached1.4.20的版 本,不同版本会有所差异,另外,文章均为本人的个人理
2015-01-21 13:48:17
321
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人