@Namespace(value="arrow::internal") @Properties(inherit=arrow.class) public class TaskGroup extends Pointer
Status().
Execution can be serial or parallel, depending on the TaskGroup
implementation. When Finish() returns, it is guaranteed that all
tasks have finished, or at least one has errored.
Once an error has occurred any tasks that are submitted to the task group
will not run. The call to Append will simply return without scheduling the
task.
If the task group is parallel it is possible that multiple tasks could be
running at the same time and one of those tasks fails. This will put the
task group in a failure state (so additional tasks cannot be run) however
it will not interrupt running tasks. Finish will not complete
until all running tasks have finished, even if one task fails.
Once a task group has finished new tasks may not be added to it. If you need to start
a new batch of work then you should create a new task group.Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter| Constructor and Description |
|---|
TaskGroup(Pointer p)
Pointer cast constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Status |
current_status()
The current aggregate error Status.
|
Status |
Finish()
Wait for execution of all tasks (and subgroups) to be finished,
or for at least one task (or subgroup) to error out.
|
Future |
FinishAsync()
Returns a future that will complete the first time all tasks are finished.
|
static TaskGroup |
MakeSerial() |
static TaskGroup |
MakeSerial(StopToken arg0) |
static TaskGroup |
MakeThreaded(Executor arg0) |
static TaskGroup |
MakeThreaded(Executor arg0,
StopToken arg1) |
boolean |
ok()
Whether some tasks have already failed.
|
int |
parallelism()
How many tasks can typically be executed in parallel.
|
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getPointer, getPointer, getPointer, getPointer, hashCode, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, position, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zeropublic TaskGroup(Pointer p)
Pointer(Pointer).@ByVal public Status Finish()
@ByVal public Future FinishAsync()
@ByVal public Status current_status()
@Cast(value="bool") public boolean ok()
public int parallelism()
@SharedPtr public static TaskGroup MakeSerial(@ByVal(nullValue="arrow::StopToken::Unstoppable()") StopToken arg0)
@SharedPtr public static TaskGroup MakeSerial()
@SharedPtr public static TaskGroup MakeThreaded(Executor arg0, @ByVal(nullValue="arrow::StopToken::Unstoppable()") StopToken arg1)
@SharedPtr public static TaskGroup MakeThreaded(Executor arg0)
Copyright © 2021. All rights reserved.