关于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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值