在上一篇文章(http://www.cnblogs.com/coding-my-life/p/4220128.html)中,提到了libev提供了处理信号的C++ wrap。但我显然接受不了需要进入libev的事件循环(event loop)后才能捕捉到消息的缺点。于是决定依照libev的思路自.....
分类:
编程语言 时间:
2015-01-17 22:07:16
阅读次数:
318
ev_signal是libev提供的对信号处理的一个模块,基本上是对sigaction函数的一个封装,并将本身是异步的信号转化为同步。ev_signal的使用十分简单:#include #include static void sigint_cb (struct ev_loop *loop,...
分类:
其他好文 时间:
2015-01-12 23:57:01
阅读次数:
504
1.多线程 Threading模块2.2.6版本以后 多进程multiprocessing模块3.协程 gevent (是一个基于libev的并发库。它为各种并发和网络相关的任务提供了整洁的API。在gevent中用到的主要模式是Greenlet, 它是以C扩展模块形式接入Python的轻量级协程。...
分类:
编程语言 时间:
2014-12-22 11:00:48
阅读次数:
280
gevent <-greenlet <- libev/libevent <- (select、epoll、kqueue)libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制libev是libe...
分类:
其他好文 时间:
2014-12-22 10:51:54
阅读次数:
183
libevTable of Contents1 libev1.1 About The Code1.2 EventLoop1.3 Watcher1.4 How it works1.4.1 ev_run1.4.2 fd_reify1.4.3 backend_poll1.4.4 timers_reify1...
分类:
其他好文 时间:
2014-11-07 20:42:49
阅读次数:
341
一、安装编译所需的库。sudo apt-get install build-essential cmake pkg-config libcurl4-openssl-dev libsqlite3-dev libmozjs185-dev libev-dev libglib2.0-dev libpurpl...
分类:
其他好文 时间:
2014-10-02 00:28:01
阅读次数:
226
gevent core就是封装了libev,使用了cython的语法,感兴趣童鞋可以好好研究研究。其实libev是有python的封装pyev(https://pythonhosted.org/pyev/),不过pyev是使用C来写扩展的,代码巨复杂。在看core.pyx代码之前先学习一下core.pyx用到的cython知识。一: cython基础知识1.cdef, def, cpdef的区别 ...
分类:
其他好文 时间:
2014-09-13 20:09:35
阅读次数:
354