python队列get不到数据_Python队列.get(block=true)添加项时不返回超时

我的python应用程序中有2个线程。

线程A(好吧,基本上是“main”线程)向队列中添加项目。

线程B正在从队列中获取它。在

代码A:def addTrade(self, date, volume, price, exchange):

'''

Adds a single trade to the database

'''

print "> ADD"

try:

self._incomingDataQueue._put(TradeData(exchange=exchange, date=date, volume=volume, price=price))

# self._dataAvailableEvent.set()

# self._dataAvailableEvent.clear()

print "< ADD"

except Exception as ex:

print "ex: %s" % ex

线程B有以下内容:

^{pr2}$

所以。。。在

结果是:

线程B启动并等待队列中的项目(超时=20秒)。在B启动之后,几乎是在瞬间,一个项目被添加到队列中。15秒后,另一个项目。在

但是:进入队列的get只在20秒后返回。当有新数据可用时,我希望它返回“几乎即时”。在

输出:> GET

> ADD

< ADD

> ADD

< ADD

< GET 20

那么,这是队列的正常行为吗?或者我应该使用另一种机制吗?在

提前谢谢!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值