客户使用 Python 2.5.5 使用我的软件时遇到此错误。怎么可能?_empty 是否已从队列中消失?我完全不明白这一点。我没有从队列继承,只是队列类的一个普通实例。在我的机器上似乎一切正常,但是,在客户的机器上出现了错误。谁能给我一些建议可能是什么问题?
问题发生在这里:
import Queue
self.requests.mutex.acquire()
allCount = self.requests._qsize()
while not self.requests._empty():
try:
(sock, addr, _) = self.requests._get()
# ... do some things
self.requests.mutex.release()
之前,队列被初始化为
self.requests = Queue(self.reqQLen)
并且模块中也用到了这些队列方法:put_nowait、qsize、get。队列用于多线程的上下文中。这可能是原因吗?
我想知道:错误消息告诉我变量requests被识别为队列实例,但属性 _empty 不存在。但是,这是 Queue 类中的普通方法。