Interface ParallelExecutor<T>
- All Superinterfaces:
Runnable
- All Known Implementing Classes:
ControlledWorkerBoundJoin
,ControlledWorkerJoin
,ControlledWorkerLeftJoin
,ControlledWorkerUnion
,HashJoin
,JoinExecutorBase
,ParallelExecutorBase
,ParallelServiceExecutor
,SourceSelection.SourceSelectionExecutorWithLatch
,SynchronousBoundJoin
,SynchronousJoin
,SynchronousWorkerUnion
,UnionExecutorBase
,WorkerUnionBase
Interface for any parallel cursor, i.e. result iterations. Implementations can act as control for scheduler
implementations, e.g.
ControlledWorkerScheduler
. The common use case is to pass results from the scheduler to
the controlling result iteration.- Author:
- Andreas Schwarte
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Handle the result appropriately, e.g.void
done()
Inform the controlling instance that some job is done from a different thread.Return the query info of the associated queryboolean
Return true if this executor is finished or abortedvoid
Toss some exception to the controlling instance
-
Method Details
-
addResult
Handle the result appropriately, e.g. add it to the result iteration. Take care for synchronization in a multithreaded environment- Parameters:
res
-
-
toss
Toss some exception to the controlling instance- Parameters:
e
-
-
done
void done()Inform the controlling instance that some job is done from a different thread. In most cases this is a no-op. -
isFinished
boolean isFinished()Return true if this executor is finished or aborted- Returns:
- whether the execution is finished
-
getQueryInfo
QueryInfo getQueryInfo()Return the query info of the associated query- Returns:
- the query info
-