Очередь или программирование

Материал из support.qbpro.ru

Это описание я искал очень долго

Queue — класс для организации очереди, есть работа с коллизиями пример использования:


import Queue q = Queue.Queue() q.put(1) # Добавить значение print q.empty() #Пустая ли очередь? print q.get() # Взять значение

  • Queue.Queue() — отдает значения по принципу “первый пришел — первый ушел”
  • Queue.LifoQueue() — “последний пришел — первый ушел”
  • Queue.put(item [ , block [ , timeout]]) — при добавлении значения можно блокировать очередь, что-б не возникало коллизий
  • Queue.get([ block [ , timeout]]) — при получении значения можно блокировать очередь, что-б одновременной другой поток не выхватил данные, данная ф-ия ждет пока не появятся данные, при истечении тайм аута, если он задан, срабатывает exception
  • Queue.get_nowait() — взять значение без ожидания, если данных нет то срабатывает exception Queue.Empty