转载自:memcached源码阅读----使用libevent和多线程模型
本篇文章主要是我今天阅读memcached源码关于进程启动,在网络这块做了哪些事情。
一、libevent的使用
首先我们知道,memcached是使用了iblievet作为网络框架的,而iblievet又是单线程模型的基于linux下epoll事件的异步模型。因此,其基本的思想就是 对可读,可写,超时,出错等事件进行绑定函数,等有其事件发生,对其绑定函数回调。
可以简单了解一下 libevent基本[......]
转载自:memcached源码阅读----使用libevent和多线程模型
本篇文章主要是我今天阅读memcached源码关于进程启动,在网络这块做了哪些事情。
一、libevent的使用
首先我们知道,memcached是使用了iblievet作为网络框架的,而iblievet又是单线程模型的基于linux下epoll事件的异步模型。因此,其基本的思想就是 对可读,可写,超时,出错等事件进行绑定函数,等有其事件发生,对其绑定函数回调。
可以简单了解一下 libevent基本[......]
今天看到一个问题,两个线程,轮流交替输出1,2,1,2。。。
看似很简单是吧,就是条件控制么,果断最简单的wait和notify,但是一致报IllegalMonitorStateException,各种囧啊,各种试。最后发现是obj.wait()和obj.notify()必须放在synchronized块内。。之前真的真的从来没注意过这个细节。。。
public class TestPrint {
public static void main(String[] args) th[......]
转载并整理自:HttpClient Theading
简介
这篇文章概括了怎样在多线程环境下安全的使用HttpClient。
MultiThreadedHttpConnectionManager
在HttpClient中使用多线程的一个主要原因是可以一次执行多个方法。在执行期间,每一个方法都使用一个HttpConnection实例。由于在同一时间多个连接只能安全地用于单一线程和方法和有限的资源,我们就必须确保连接分配给正确的方法。而MultiThreadedHttpConnect[......]
转载自:http://blog.csdn.net/ustcxiangchun/archive/2009/09/01/4508086.aspx
这个例子的作用就是把当前时间显示到窗口中,即显示了一个实时时钟。
//~~~~~~~ begin of program ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <cairo.h>
#include <gtk/gtk.h>
#include <time.h[......]
转载自:http://hi.baidu.com/yancncen/blog/item/b43bf4fee7c7c4385d6008de.html
最近,看了几个开源代码的server框架,有了一些自己的想法,把它记下来。
针对server要求高性能的同时还需要稳定性的特点,有了这样一个构思,建立一个EPOLL+多进程+线程池的server框架,暂且叫它emptyServer(e:epoll,m:muti,p:process,t:thread,y:ycc.哈哈)。
考虑的出发点如下:[......]