Class ThreadedStreamConsumer.QueueSynchronizer<T>
- java.lang.Object
-
- org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer.QueueSynchronizer<T>
-
- Type Parameters:
T- element type in the queue
- Enclosing class:
- ThreadedStreamConsumer
static class ThreadedStreamConsumer.QueueSynchronizer<T> extends java.lang.ObjectThis synchronization helper mostly avoids the locks. If the queue size has reached zero ormaxQueueSizethen the threads are locked (parked/unparked). The thread instance T1 is reader (see the class "Pumper") and T2 is the writer (see the method "handleEvent").
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classThreadedStreamConsumer.QueueSynchronizer.SyncT1private classThreadedStreamConsumer.QueueSynchronizer.SyncT2
-
Field Summary
Fields Modifier and Type Field Description private intmaxQueueSizeprivate java.util.concurrent.ConcurrentLinkedDeque<T>queueprivate java.util.concurrent.atomic.AtomicIntegerqueueSizeprivate TstopItemMarkerprivate ThreadedStreamConsumer.QueueSynchronizer.SyncT1t1private ThreadedStreamConsumer.QueueSynchronizer.SyncT2t2
-
Constructor Summary
Constructors Constructor Description QueueSynchronizer(int maxQueueSize, T stopItemMarker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddNext(T t)(package private) TawaitNext()(package private) voidclearQueue()(package private) booleanisEmptyQueue()(package private) voidmarkStopped()(package private) voidpushNext(T t)
-
-
-
Field Detail
-
t1
private final ThreadedStreamConsumer.QueueSynchronizer.SyncT1 t1
-
t2
private final ThreadedStreamConsumer.QueueSynchronizer.SyncT2 t2
-
queue
private final java.util.concurrent.ConcurrentLinkedDeque<T> queue
-
queueSize
private final java.util.concurrent.atomic.AtomicInteger queueSize
-
maxQueueSize
private final int maxQueueSize
-
stopItemMarker
private final T stopItemMarker
-
-
Constructor Detail
-
QueueSynchronizer
QueueSynchronizer(int maxQueueSize, T stopItemMarker)
-
-