public abstract class ParallelCollector extends CollectorContext
Modifier and Type | Field and Description |
---|---|
protected ParallelCollectorGroup |
group
The group that this collector context is running in (may be null)
|
(package private) int |
lastTriggerCount
Last group trigger index (see CollectorContextGroup)
|
(package private) int |
workerOrdinal
The index of this thread in the collector context group.
|
log
Constructor and Description |
---|
ParallelCollector() |
Modifier and Type | Method and Description |
---|---|
void |
collect()
Perform a single garbage collection
|
void |
collectionPhase(short phaseId,
boolean primary)
Perform a (local, i.e.per-collector) collection phase.
|
TraceLocal |
getCurrentTrace() |
int |
parallelWorkerCount()
The number of parallel workers currently executing with this collector
context.
|
int |
parallelWorkerOrdinal()
The ordinal of the current worker.
|
void |
park()
Park this thread into the group, waiting for a request.
|
int |
rendezvous()
Get the executing context to rendezvous with other contexts working
in parallel.
|
void |
run()
Entry point for the collector context.
|
allocCopy, copyCheckAllocator, getId, getLog, initCollector, postCopy
protected ParallelCollectorGroup group
int lastTriggerCount
int workerOrdinal
public ParallelCollector()
public void run()
run
in class CollectorContext
public void collect()
public void collectionPhase(short phaseId, boolean primary)
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?public TraceLocal getCurrentTrace()
public final void park()
public int parallelWorkerCount()
CollectorContext
parallelWorkerCount
in class CollectorContext
public int parallelWorkerOrdinal()
CollectorContext
parallelWorkerOrdinal
in class CollectorContext
public int rendezvous()
CollectorContext
rendezvous
in class CollectorContext