go (golang) DNS域名解析实现 发表于 2015-05-29 | 分类于 golang 之前使用过GO语言写了一个实时图片下载程序,主要考虑到GO语言的DNS解析对协程支持友好, 即DNS解析时不会阻塞执行线程,只会阻塞当前协程,顺便研究了一下GO的net.LookupHost/ResolveIPAddr实现方式。下面一段描述翻译自go语言的官方文档 https://golang.or ... 阅读全文 »
线程间使用条件变量同步正确方式 发表于 2015-01-28 | 分类于 linux 线程间同步标准的使用方式如下: thread1: pthread_mutex_lock(&mutex); while (!condition) pthread_cond_wait(&cond, &mutex); func_1();/* do ... 阅读全文 »
python基于协程的网络库gevent、eventlet 发表于 2015-01-28 | 分类于 python python网络库也有了基于协程的实现,比较著名的是 gevent、eventlet 它两之间的关系可以参照Comparing gevent to eventlet, 本文主要简单介绍一下eventlet一个例子客户端:import eventletfrom eventlet.green impor ... 阅读全文 »
nginx_lua 扩展让 nginx 拥有可编程能力 发表于 2015-01-26 | 分类于 nginx 公司使用 lighttpd 的比较多, 主要是接入层的一些工作,而且增加了一些很多自己的模块防火墙等等. 后来nginx开始流行起来因为 lighttpd 和 nginx整体是实现方式比较类似(个人感觉nginx 借鉴了 lighttpd的实现方式),都使用了多进程异步非阻塞处理请求I/O和time ... 阅读全文 »