关于gevent.get_hub().loop.async()


gevent.get_hub().loop.async()新建一个slot,这个slot可以放入一个回调函数,同时可以由另外一个OS线程通知gevent的loop engine运行这个回调函数。


新建一个slot:
gev_loop_async = gevent.get_hub().loop.async()

放入一个回调函数:
gev_loop_async.start(__callback_function__)

由另外一个OS线程通知:
gev_loop_async.send()  # 可在另一个OS线程调用

销毁一个slot:
gev_loop_async.stop() # 使用完后必需显式销毁,没有自动销毁机制


注:

回调函数的运行由gevent的loop engine驱动

import gevent

def _on_async_send():
    print "_on_async_send"

gev_loop_async = gevent.get_hub().loop.async()
gev_loop_async.start(_on_async_send)
gevent.sleep(0) # 启动gevent的loop engine


阅读更多
个人分类: Python
上一篇linux disk ctl
下一篇项目协作/管理软件安装
想对作者说点什么? 我来说一句

关于我们html代码

2013年01月10日 421KB 下载

关于学习的软件

2008年07月07日 99KB 下载

没有更多推荐了,返回首页

关闭
关闭