#include <BlockingQueue.h>

Public Member Functions | |
BlockingQueue () | |
Create a new BlockingQueue. | |
virtual | ~BlockingQueue () |
Destroy this BlockingQueue. | |
virtual void | add (const T &item) |
virtual bool | add (const T &item, unsigned long timeout) |
virtual T | next () |
virtual T | next (unsigned long timeout) |
virtual void | cancel () |
virtual bool | isCanceled () |
virtual size_t | size () |
virtual size_t | size (unsigned long timeout) |
virtual void | acquire () |
virtual bool | tryAcquire (unsigned long timeout) |
virtual void | release () |
![]() | |
virtual | ~Queue () |
Destroy a Queue. | |
virtual void | add (const T &item)=0 |
virtual bool | add (const T &item, unsigned long timeout)=0 |
virtual T | next ()=0 |
virtual T | next (unsigned long timeout)=0 |
virtual void | cancel ()=0 |
virtual size_t | size ()=0 |
virtual size_t | size (unsigned long timeout)=0 |
virtual bool | empty () |
virtual bool | empty (unsigned long timeout) |
![]() | |
virtual | ~Cancelable () |
Destroy a Cancelable object. | |
virtual void | cancel ()=0 |
virtual bool | isCanceled ()=0 |
![]() | |
virtual | ~Lockable () |
Destroy a Lockable object. | |
virtual void | acquire ()=0 |
virtual bool | tryAcquire (unsigned long timeout)=0 |
virtual void | release ()=0 |
Detailed Description
class ZThread::BlockingQueue< T, LockType, StorageType >
- Date
- <2003-07-16T12:01:43-0400>
- Version
- 2.3.0
Like a LockedQueue, a BlockingQueue is a Queue implementation that provides serialized access to the items added to it. It differs by causing threads accessing the next() methods to block until a value becomes available.
Member Function Documentation
◆ acquire()
|
inlinevirtual |
Acquire the Lockable object.
This method may or may not block the caller for an indefinite amount of time. Those details are defined by specializations of this class.
- Exceptions
-
Interrupted_Exception thrown if the calling thread is interrupted before the operation completes.
- Postcondition
- The Lockable is acquired only if no exception was thrown.
Implements Lockable.
◆ add() [1/2]
|
inlinevirtual |
- See also
- Queue::add(const T& item)
Implements Queue< T >.
◆ add() [2/2]
|
inlinevirtual |
Implements Queue< T >.
◆ cancel()
|
inlinevirtual |
- See also
- Queue::cancel()
- Postcondition
- If threads are blocked on one of the next() functions then they will be awakened with a Cancellation_Exception.
Implements Queue< T >.
◆ isCanceled()
|
inlinevirtual |
- See also
- Queue::isCanceled()
Implements Cancelable.
◆ next() [1/2]
|
inlinevirtual |
Get a value from this Queue. The calling thread may block indefinitely.
- Returns
- T next available value
- Exceptions
-
Cancellation_Exception thrown if this Queue has been canceled. Interrupted_Exception thrown if the calling thread is interrupted before a value becomes available.
- Precondition
- The Queue should not have been canceled prior to the invocation of this function.
- Postcondition
- The value returned will have been removed from the Queue.
- See also
- Queue::next()
Implements Queue< T >.
◆ next() [2/2]
|
inlinevirtual |
Get a value from this Queue. The calling thread may block indefinitely.
- Parameters
-
timeout maximum amount of time (milliseconds) this method may block the calling thread.
- Returns
- T next available value
- Exceptions
-
Cancellation_Exception thrown if this Queue has been canceled. Timeout_Exception thrown if the timeout expires before a value can be retrieved. Interrupted_Exception thrown if the calling thread is interrupted before a value becomes available.
- Precondition
- The Queue should not have been canceled prior to the invocation of this function.
- Postcondition
- The value returned will have been removed from the Queue.
Implements Queue< T >.
◆ release()
|
inlinevirtual |
◆ size() [1/2]
|
inlinevirtual |
- See also
- Queue::size()
Implements Queue< T >.
◆ size() [2/2]
|
inlinevirtual |
Implements Queue< T >.
◆ tryAcquire()
|
inlinevirtual |
Attempt to acquire the Lockable object.
This method may or may not block the caller for a definite amount of time. Those details are defined by specializations of this class; however, this method includes a timeout value that can be used to limit the maximum amount of time that a specialization could block.
- Parameters
-
timeout - maximum amount of time (milliseconds) this method could block
- Returns
- Exceptions
-
Interrupted_Exception thrown if the calling thread is interrupted before the operation completes.
- Postcondition
- The Lockable is acquired only if no exception was thrown.
Implements Lockable.
The documentation for this class was generated from the following file:
- BlockingQueue.h