public class JobQueue extends Object
| Modifier and Type | Field and Description |
|---|---|
(package private) int |
bufferSize |
(package private) Locker |
emptySlotsLocker |
(package private) Locker |
fullSlotsLocker |
(package private) AtomicReference<Job>[] |
jobs |
(package private) Cursor |
readCursor |
(package private) Cursor |
writeCursor |
(package private) int |
wroteData |
| Constructor and Description |
|---|
JobQueue(int bufferSize) |
| Modifier and Type | Method and Description |
|---|---|
Job |
get() |
(package private) boolean |
haveReadbleData() |
(package private) boolean |
haveWritableSlots() |
(package private) void |
preAllocateBuffer() |
void |
put(Job job) |
(package private) AtomicReference<Job> |
waitUntilHaveReadableSlots() |
(package private) int |
waitUntilHaveWritableSlots() |
final Locker emptySlotsLocker
final Locker fullSlotsLocker
final AtomicReference<Job>[] jobs
final Cursor readCursor
final Cursor writeCursor
final int bufferSize
volatile int wroteData
void preAllocateBuffer()
public void put(Job job) throws InterruptedException
InterruptedExceptionint waitUntilHaveWritableSlots()
boolean haveWritableSlots()
public Job get() throws InterruptedException
InterruptedExceptionAtomicReference<Job> waitUntilHaveReadableSlots()
boolean haveReadbleData()
Copyright © 2015. All rights reserved.