Signalling
A message interface serves as a unique interface to the part of the collection capable of receiving messages from a different task.
A message interface serves as a unique interface to the part of the collection capable of receiving messages from a different task.
One example of use of this is the find
method, which can use the
signalling interface to inform worker threads that an element has
been found and no further search is necessary.
Value members
Abstract methods
Sends an abort signal to other workers.
Sends an abort signal to other workers.
Abort flag being true means that a worker can abort and produce whatever result,
since its result will not affect the final result of computation. An example
of operations using this are find
, forall
and exists
methods.
Returns the value of the index flag.
Returns the value of the index flag.
The index flag holds an integer which carries some operation-specific meaning. For
instance, takeWhile
operation sets the index flag to the position of the element
where the predicate fails. Other workers may check this index against the indices
they are working on and return if this index is smaller than their index. Examples
of operations using this are takeWhile
, dropWhile
, span
and indexOf
.
- Returns
the value of the index flag
Checks whether an abort signal has been issued.
Checks whether an abort signal has been issued.
Abort flag being true means that a worker can abort and produce whatever result,
since its result will not affect the final result of computation. An example
of operations using this are find
, forall
and exists
methods.
- Returns
the state of the abort
Sets the value of the index flag.
Sets the value of the index flag.
The index flag holds an integer which carries some operation-specific meaning. For
instance, takeWhile
operation sets the index flag to the position of the element
where the predicate fails. Other workers may check this index against the indices
they are working on and return if this index is smaller than their index. Examples
of operations using this are takeWhile
, dropWhile
, span
and indexOf
.
- Value Params
- f
the value to which the index flag is set.
Sets the value of the index flag if argument is greater than current value. This method does this atomically.
Sets the value of the index flag if argument is greater than current value. This method does this atomically.
The index flag holds an integer which carries some operation-specific meaning. For
instance, takeWhile
operation sets the index flag to the position of the element
where the predicate fails. Other workers may check this index against the indices
they are working on and return if this index is smaller than their index. Examples
of operations using this are takeWhile
, dropWhile
, span
and indexOf
.
- Value Params
- f
the value to which the index flag is set
Sets the value of the index flag if argument is lesser than current value. This method does this atomically.
Sets the value of the index flag if argument is lesser than current value. This method does this atomically.
The index flag holds an integer which carries some operation-specific meaning. For
instance, takeWhile
operation sets the index flag to the position of the element
where the predicate fails. Other workers may check this index against the indices
they are working on and return if this index is smaller than their index. Examples
of operations using this are takeWhile
, dropWhile
, span
and indexOf
.
- Value Params
- f
the value to which the index flag is set