The Queue Module

Provides a multi-producer, multi-consumer FIFO queue object

  • Can be used to safely exchange data between multiple threads
     q = Queue(maxsize)      # Create a queue
     q.qsize()               # Return current size
     q.empty()               # Test if empty
     q.full()                # Test if full
     q.put(item)             # Put an item on the queue
     q.get()                 # Get item from queue

Notes:

  • The Queue object also supports non-blocking put/get.
     q.put_nowait(item)
     q.get_nowait()
  • These raise the Queue.Full or Queue.Empty exceptions if an error occurs.
  • Return values for qsize(), empty(), and full() are approximate.
<<< O'Reilly OSCON 2000, Advanced Python Programming, Slide 80
July 17, 2000, beazley@cs.uchicago.edu
>>>