Greenlet是给python使用的协程,evenlet就是使用的这个库。greenlet真正实现了协程之间的切换。python协程的实现(greenlet源码分析)这篇博文非常精彩的讲解了greenlet。整个代码一共就两千来行,因为涉及到上下文切换,读起来还是有点困难的。本文主要讲讲理解greenlet的要点..
分类:
其他好文 时间:
2015-01-20 06:44:36
阅读次数:
341
前言 最近学习了一下jQuery源码,顺便总结一下,版本:v2.0.3 主要是通过简单模拟实现jQuery的封装/调用、选择器、类级别扩展等。加深对js/Jquery的理解。正文先来说问题: 1.jQuery为什么能使用$的方式调用,$是什么、$()又是什么、链式调用如何实现的 2.jQuery.....
分类:
Web程序 时间:
2015-01-19 23:33:28
阅读次数:
346
引言 当wifidog启动时,会启动一个线程(thread_client_timeout_check)维护客户端列表,具体就是wifidog必须定时检测客户端列表中的每个客户端是否在线,而wifidog是通过两种方式进行检测客户端在线情况,一种是定时通过iptables获取客户端出入总流量更新客户....
分类:
编程语言 时间:
2015-01-19 12:30:57
阅读次数:
248
转载请注明出处:
LRU队列:
之前的《slab内存分配》博文已经说到一个slab class里面的所有slab分配器都只分配相同大小的item,不同的slab class分配不同大小的item。item结构体里面有一个slabs_clsid成员,用来指明自己是属于哪个slab class的。这里把slabs_clsid值相同的item称为是同一类ite...
分类:
系统相关 时间:
2015-01-19 10:58:18
阅读次数:
216
背景:专栏中曾分别写过dcmqrscp.exe与storescu.exe工具包的介绍,但是并未深究两者之间的差别。dcmqrscp.exe工具是一个mini版PACS,可分别响应C-FIND、C-MOVE、C-GET、C-STORE等各种DIMSE服务,而storescu.exe工具是C-STORE服务使用者,可以看出这两个工具包都提供C-STORE SCU服务。前几天博友的一个问题使得重新研究了一下两者在实现C-STORE SCU服务上的差别。通过源码分析发现问题根源出在Presentation Cont...
分类:
其他好文 时间:
2015-01-18 00:57:07
阅读次数:
361
android 滑动侧边栏 SlideMenu 源码分析 以及使用手册
我们先看使用方案:
首先
public class MainActivity extends SlidingFragmentActivity
继承SlidingFragmentActivity ,这里面在创建时有创建需要的slidemenu等相关数据。
在Oncreate里面...
分类:
移动开发 时间:
2015-01-16 16:45:04
阅读次数:
290
在上一篇博客《打造android ORM框架opendroid(一)——ORM框架的使用》中相信你已经了解了opendroid的使用,那么从这篇博客开始,我们正式进入opendroid的源码分析,打造一款自己的ORM框架!
在正式开始之前,你需要保证手里有一份opendroid的源码,如果还没下载opendroid,请到http://git.oschina.net/qibin/OpenDroid...
分类:
移动开发 时间:
2015-01-16 11:27:50
阅读次数:
282
转载请注明出处:
温馨提示:本文用到了一些可以在启动memcached设置的全局变量。关于这些全局变量的含义可以参考《memcached启动参数详解》。对于这些全局变量,处理方式就像《如何阅读memcached源代码》所说的那样直接取其默认值。
assoc.c文件里面的代码是构造一个哈希表。memcached快的一个原因是使用了哈希表。现在就...
分类:
系统相关 时间:
2015-01-16 11:26:25
阅读次数:
278
引言 之前的文章已经描述wifidog大概的一个工作流程,这里我们具体说说wifidog是怎么把一个新用户重定向到认证服务器中的,它又是怎么对一个已认证的用户实行放行操作的。我们已经知道wifidog在启动时会删除iptables中mangle、nat、filter表中的所有规则,并在这三个表中添....
分类:
其他好文 时间:
2015-01-15 12:46:21
阅读次数:
220
转载请注明出处:
温馨提示:本文用到了一些可以在启动memcached设置的全局变量。关于这些全局变量的含义可以参考《memcached启动参数详解》。对于这些全局变量,处理方式就像《如何阅读memcached源代码》所说的那样直接取其默认值。
slab内存池分配器:
slab简介:
memcached使用了一个叫slab的内...
分类:
系统相关 时间:
2015-01-15 11:00:28
阅读次数:
234