Наличие дека с преимуществами очереди в потокеPython

Программы на Python
Ответить
Anonymous
 Наличие дека с преимуществами очереди в потоке

Сообщение Anonymous »

Мне нужна структура, в которой я смогу использовать pop() и add() с правой стороны (точно так же, как deque), при этом структура будет блокироваться и ждать, если она пуста (точно так же, как Queue). Я мог бы напрямую использовать очередь, но мне также нужна удобная функция дека, при которой элементы удаляются без блокировки, если структура заполнена.

Код: Выделить всё

from collections import deque

d = deque(maxlen=2)
d.append(1)
d.append(2)
d.append(3) # d should be [2,3] (it is the case)
d.pop()
d.pop()
d.pop() # should wait (not the case)
Что лучше — создать подкласс deque (заставить его ждать) или Queue (добавив функцию popLeft)?

Подробнее здесь: https://stackoverflow.com/questions/568 ... n-a-thread
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»