Клиент получил эту ошибку с моим программным обеспечением, использующим Python 2.5.5. Как это может быть? _Empty исчез из очереди? Я вообще этого не понимаю. Я не наследовал от очереди, есть просто нормальный экземпляр класса Queue. На моей машине все вроде бы работает нормально, однако на машине заказчика появилась ошибка. Кто-нибудь может дать мне совет, в чем может быть проблема?
Проблема произошла здесь:
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. Очередь используется в контексте многопоточности. Может ли это быть причиной?
Мне интересно: сообщение об ошибке говорит мне, что переменная запрашивает распознается как экземпляр очереди, но атрибут _empty отсутствует. Однако это обычный метод в классе Queue.