关闭

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

1261人阅读 评论(0) 收藏 举报
分类:


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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:113374次
    • 积分:2153
    • 等级:
    • 排名:第17641名
    • 原创:112篇
    • 转载:10篇
    • 译文:1篇
    • 评论:4条
    文章分类
    最新评论