Tag Archives: 多线程

[ 转载] memcached源码阅读----使用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多线程

转载并整理自:HttpClient Theading

简介
这篇文章概括了怎样在多线程环境下安全的使用HttpClient。
MultiThreadedHttpConnectionManager

在HttpClient中使用多线程的一个主要原因是可以一次执行多个方法。在执行期间,每一个方法都使用一个HttpConnection实例。由于在同一时间多个连接只能安全地用于单一线程和方法和有限的资源,我们就必须确保连接分配给正确的方法。而MultiThreadedHttpConnect[......]

继续阅读

在GTK中,如果定时让程序去作某件事,使用g_timeout_add

转载自: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.哈哈)。

考虑的出发点如下:[......]

继续阅读