An exact number of remaining elements in this stealer that its owner has not yet committed to.
An exact number of remaining elements in this stealer that its owner has not yet committed to.
an exact number of remaining elements
Attempts to push the stealer to the Completed
state.
Attempts to push the stealer to the Completed
state.
Only changes the state if the stealer was in the AvailableOrOwned
state, otherwise does nothing.
Note: after having called this operation, the node will either be stolen or completed.
true
if node ends in the Completed
state, false
if it ends in the StolenOrExpanded
state
Attempts to push the stealer to the Stolen
state.
Attempts to push the stealer to the Stolen
state.
Only changes the state if the stealer was in the AvailableOrOwned
state, otherwise does nothing.
Note: after having called this operation, the node will either be stolen or completed.
false
if node ends in the Completed
state, true
if it ends in the StolenOrExpanded
state
Commits to processing a block of elements by using next
and hasNext
.
Commits to processing a block of elements by using next
and hasNext
.
Once hasNext
has returned false
, nextBatch
can be called again.
upper bound on the number of elements to commit to processing
-1
if the stealer is not in the AvailableOrOwned
state, otherwise
an exact number of elements that calls to next
will return.
ordinal number of element returned by subsequent next call
Splits this stealer into a pair of stealers that traverse its remaining elements.
Splits this stealer into a pair of stealers that traverse its remaining elements.
The first stealer will have exactly leftSize
elements.
Note: stealer needs to be in the stolen state.
Can only be called on stealers that are in the stolen state.
Can only be called on stealers that are in the stolen state.
It will return a pair of stealers traversing the remaining elements of the current stealer.
Stealer state can be AvailableOrOwned
, Completed
or StolenOrExpanded
.
Stealer state can be AvailableOrOwned
, Completed
or StolenOrExpanded
.
Stealer state can change from available to either completed or stolen, but cannot change once it is completed or stolen.
A total number of elements that this stealer could commit to at the time of its creation.
A total number of elements that this stealer could commit to at the time of its creation.
total number of elements in the stealer
Attempts to cast this stealer into a precise stealer.
Attempts to cast this stealer into a precise stealer.
Optional.
Optional.
The number of elements already committed to by this stealer.
The number of elements already committed to by this stealer.
number of elements the stealer already committed to
Returns an estimate on the number of remaining elements.
Returns an estimate on the number of remaining elements.
A shortcut method that checks if the stealer is in the available state.
A shortcut method that checks if the stealer is in the available state.
Minimum stealing threshold above which this stealer can be stolen and split.
Minimum stealing threshold above which this stealer can be stolen and split.
Note: splitting and stealing still work if there are less elements, but the scheduler will not split such stealers.