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

Материал из support.qbpro.ru
Версия от 22:54, 9 сентября 2013; imported>Vix (Новая страница: «'''Это описание я искал очень долго''' Queue — класс для организации очереди, есть работа с к…»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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

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