VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 34
声望: 0

请大神指教:事件引擎的处理事件线程开始工作后,从事件队列取事件进行处理,但是为什么要设置仅阻塞一秒呢?一直阻塞为什么不可以呢?
description

Member
avatar
加入于:
帖子: 337
声望: 27

timeout=1指每阻塞1秒从线程里获取数据并进行处理,一直阻塞的话怎么拿数据呢?
可以去看一下python的queue模块。

Member
avatar
加入于:
帖子: 34
声望: 0

张爱民 wrote:

请大神指教:事件引擎的处理事件线程开始工作后,从事件队列取事件进行处理,但是为什么要设置仅阻塞一秒呢?一直阻塞为什么不可以呢?
description
是的,我的理解是这样:如果 block=True,且 timeout=None,队列中没有数据的时候,会一直等待,一旦有数据入队列则取出数据(事件),进行处理。不知道我这样理解是否正确

Member
avatar
加入于:
帖子: 337
声望: 27

timeout=1可以在没有数据的情况下返回empty异常,结合try和except可以正确地关闭任务。如果timeout=None,又没有数据可以用的话会一直处于卡住状态,无法执行下一个任务。

Member
avatar
加入于:
帖子: 34
声望: 0

青青子荆 wrote:

timeout=1可以在没有数据的情况下返回empty异常,结合try和except可以正确地关闭任务。如果timeout=None,又没有数据可以用的话会一直处于卡住状态,无法执行下一个任务。
好的 感谢

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】