T
- public class Buffer<T>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.lang.Integer |
capacity
This is the capacity for the buffer.
|
private java.util.List<T> |
data
This attribute is the list of data.
|
private Semaphor |
freeSpace
queue if the buffer is full.
|
private Semaphor |
mutex
lock and unlock the semaphore.
|
private Semaphor |
usedSpace
queue if the buffer is empty.
|
Constructor and Description |
---|
Buffer(java.lang.Integer capacity)
This is the constructor.
|
Modifier and Type | Method and Description |
---|---|
T |
peek() |
void |
put(T object)
This method put a new object @param object into the buffer.
|
T |
remove()
removes the first element of the buffer.
|
java.lang.String |
toString() |
private final java.util.List<T> data
private final Semaphor usedSpace
private final Semaphor freeSpace
private final Semaphor mutex
private final java.lang.Integer capacity
public Buffer(java.lang.Integer capacity)
capacity
- The capacity of the buffer.public void put(T object) throws java.lang.InterruptedException
object
- The object to put into the buffer.java.lang.InterruptedException
- if mutex.down does not workpublic T remove() throws java.lang.InterruptedException
java.lang.InterruptedException
- if mutex.down() did not workpublic T peek() throws java.lang.InterruptedException
java.lang.InterruptedException
- if mutex.down did not workpublic java.lang.String toString()
toString
in class java.lang.Object