public final class ForkNumberBucket
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.atomic.AtomicInteger |
highWaterMark |
private static ForkNumberBucket |
INSTANCE |
private java.util.Queue<java.lang.Integer> |
qFree |
Modifier | Constructor and Description |
---|---|
private |
ForkNumberBucket()
Non-public constructor
|
Modifier and Type | Method and Description |
---|---|
static int |
drawNumber() |
private int |
drawNumberInternal() |
private int |
getHighestDrawnNumber() |
private static ForkNumberBucket |
getInstance() |
static void |
returnNumber(int number) |
private void |
returnNumberInternal(int number) |
private static final ForkNumberBucket INSTANCE
private final java.util.Queue<java.lang.Integer> qFree
private final java.util.concurrent.atomic.AtomicInteger highWaterMark
public static int drawNumber()
returnNumber(int)
.public static void returnNumber(int number)
number
- the number to return to the bucket so that it can be reused.private static ForkNumberBucket getInstance()
private int drawNumberInternal()
returnNumber(int)
.private int getHighestDrawnNumber()
private void returnNumberInternal(int number)
number
- the number to return to the bucket so that it can be reused.