multiprocessing.Queue
имитирует queue.Queue
полностью со всеми функциями (кроме .task_done()
и .join()
)
Queue реализует все методы Queue.Queue, за исключением task_done () и join ().
Так что без аргументов (или отрицательного числа) он может принимать бесконечные элементы
(как примечание, поскольку очереди внутренне перечислены как структуры (dequeue
, heapq
, list
), труднее иметь ограничение, чем не иметь ограничения.)
Edit:
Хорошо, как выясняется после просмотра исходного кода, получается, что multiprocessing.Queue
имеет стандартную верхнюю границу, если значение не указано: 2 ** 31-1
# file multiprocessing/queues.py
class Queue(object):
def __init__(self, maxsize=0, *, ctx):
if maxsize <= 0:
from .synchronize import SEM_VALUE_MAX as maxsize # -> 2**31-1
Так что это не infinte, но практически infinte