queue - очереди заданий

class queue.Queue([maxsize=0])

очередь (первым пришел, первым ушел)

empty()

возвращает True если очередь пуста, иначе False

full()

возвращает True если очередь не пуста, иначе False

get([block=True][, timeout=None])

удаляет и возвращает элемент

Parameters
  • block (bool) – если True, то поток будет ожидать возможности получения элемента

  • timeout (int) – максимальное время ожидания в секундах

Raises

queue.Full – если элемент получить не удалось

get_nowait()

удаляет и возвращает элемент без ожидания

join()

блокирует поток, пока не будут обработаны все элементы в очереди. Другие потоки после обработки текущего задания должны вызывать метод task_done(). Как только все задания будут выполнены, поток разюлокируется

put(<Элемент>[, block=True][, timeout=None])

добавляет элемент в очередь

Parameters
  • block (bool) – если True, то поток будет ожидать возможности добавления элемента

  • timeout (int) – максимальное время ожидания в секундах

Raises

queue.Full – если элемент добавить не удалось

put_nowait(<Элемент>)

добавляет элемент без ожидания

qsize()

возвращает приблизительное количество элементов в очереди

task_done()

помечает задание как выполенное

class queue.LifoQueue([maxsize=0])

стек, последним пришел, первым вышел. иметт аналогичные методы что и Queue

class queue.PriorityQueue([maxsize=0])

очередь с приоритетами. Элементы очереди являются кортежами, первое элемент которого задает приоритет. иметт аналогичные методы что и Queue