Clarify that put *blocks* when the queue is full. Add some blank

lines to doc strings.
This commit is contained in:
Guido van Rossum 1998-04-09 14:25:32 +00:00
parent 363ab1a613
commit c09e6b1c0a
1 changed files with 6 additions and 1 deletions

View File

@ -44,7 +44,10 @@ class Queue:
return n return n
def put(self, item): def put(self, item):
"""Put an item into the queue.""" """Put an item into the queue.
If the queue is full, block until a free slot is avaiable.
"""
self.fsema.acquire_lock() self.fsema.acquire_lock()
self.mutex.acquire_lock() self.mutex.acquire_lock()
was_empty = self._empty() was_empty = self._empty()
@ -57,6 +60,7 @@ class Queue:
def get(self): def get(self):
"""Gets and returns an item from the queue. """Gets and returns an item from the queue.
This method blocks if necessary until an item is available. This method blocks if necessary until an item is available.
""" """
self.esema.acquire_lock() self.esema.acquire_lock()
@ -74,6 +78,7 @@ class Queue:
# raise Empty if the queue is empty or temporarily unavailable # raise Empty if the queue is empty or temporarily unavailable
def get_nowait(self): def get_nowait(self):
"""Gets and returns an item from the queue. """Gets and returns an item from the queue.
Only gets an item if one is immediately available, Otherwise Only gets an item if one is immediately available, Otherwise
this raises the Empty exception if the queue is empty or this raises the Empty exception if the queue is empty or
temporarily unavailable. temporarily unavailable.