javax.realtime
Class WaitFreeDequeue
java.lang.Object
|
+--javax.realtime.WaitFreeDequeue
- public class WaitFreeDequeue
- extends java.lang.Object
The wait-free queue classes facilitate communication and synchronization
between instances of RealtimeThread and
Thread. See WaitFreeWriteQueue or
WaitFreeReadQueue for more details. Instances of this class create
a WaitFreeWriteQueue and a WaitFreeReadQueue and make calls on the
respective read() and write() methods.
|
Constructor Summary |
WaitFreeDequeue(java.lang.Thread writer,
java.lang.Thread reader,
int maximum,
MemoryArea area)
A queue with unsynchronized and nonblocking
read() and write() methods and
synchronized and blocking read()and write() methods. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WaitFreeDequeue
public WaitFreeDequeue(java.lang.Thread writer,
java.lang.Thread reader,
int maximum,
MemoryArea area)
throws java.lang.IllegalArgumentException,
java.lang.IllegalAccessException,
java.lang.ClassNotFoundException,
java.lang.InstantiationException
- A queue with unsynchronized and nonblocking
read() and write() methods and
synchronized and blocking read()and write() methods.
- Parameters:
writer - An instance of Thread.reader - An instance of Thread.maximum - Then maximum number of elements in the both the
WaitFreeReadQueue and the WaitFreeWriteQueue.area - The MemoryArea in which this object and internal elements are
allocated.
nonBlockingRead
public java.lang.Object nonBlockingRead()
- An unsynchronized call of the
read() method of the underlying WaitFreeReadQueue.
- Returns:
- A
Object object read from this. If there are no elements
in this then null is returned.
blockingWrite
public boolean blockingWrite(java.lang.Object object)
throws MemoryScopeException
- A synchronized call of the
write() method of the underlying WaitFreeReadQueue.
This call blocks on queue full and waits until there is space in this.
- Parameters:
object - The Object to place in this.- Returns:
- True if
object is now in this.
nonBlockingWrite
public boolean nonBlockingWrite(java.lang.Object object)
throws MemoryScopeException
- An unsynchronized call of the
write() method of the underlying WaitFreeWriteQueue.
This call does not block on queue full.
- Parameters:
object - The Object to attempt to place in this.- Returns:
- True if the
object is now in this, otherwise returns false.
blockingRead
public java.lang.Object blockingRead()
- A synchronized call of the
read() method of the underlying WaitFreeWriteQueue.
This call blocks on queue empty and will wait until there is an element in
the queue to return.
- Returns:
- An
Object from this.
force
public boolean force(java.lang.Object object)
- If this is full then this call overwrites the last object
written to this with the given object. If this is not full this call
is equivalent to the
nonBlockingWrite() call.
- Parameters:
object - The Object which will overwrite the last object if this is full.
Otherwise object will be placed in this.