Scheduling execution with thread/computing resources distributing.
More...
#include <vtkExecutionScheduler.h>
Inherits vtkObject.
Scheduling execution with thread/computing resources distributing.
This is a class for balancing the computing resources throughout the network
- See Also
- vtkComputingResources vtkThreadedStreamingPipeline
- Events:
- vtkCommand::UpdateEvent
Definition at line 60 of file vtkExecutionScheduler.h.
vtkExecutionScheduler::vtkExecutionScheduler |
( |
| ) |
|
|
protected |
vtkExecutionScheduler::~vtkExecutionScheduler |
( |
| ) |
|
|
protected |
static int vtkExecutionScheduler::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkExecutionScheduler::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkExecutionScheduler::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkExecutionScheduler::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
Return the global instance of the scheduler
static vtkInformationIntegerKey* vtkExecutionScheduler::TASK_PRIORITY |
( |
| ) |
|
|
static |
Key to store the priority of a task
Put the current set of executives (modules) to the be scheduled given its dependency graph which will be used to compute the set topological orders
Put the current set of executives (modules) to the be scheduled given its dependency graph which will be used to compute the set topological orders. Then wait for their execution to be complete
Wait until the current set of executives (modules) have finished executing
Wait until the current set of executives (modules) have their inputs released
void vtkExecutionScheduler::WaitUntilAllDone |
( |
| ) |
|
Wait for all tasks to be done
void vtkExecutionScheduler::WaitForTaskDone |
( |
vtkExecutive * |
exec | ) |
|
Wait for a task that is on the scheduling queue to be done. If the task is not there, this will return immediately. If the exec is NULL, any task that is done will trigger this the return
void vtkExecutionScheduler::WaitForInputsReleased |
( |
vtkExecutive * |
exec | ) |
|
Similar to WaitForTaskDone but return whenever input connections of a task are released instead of done computing. But exec cannot be NULL.
Return the thread messager reserved for the given exec to notify when it is done
Return the thread messager reserved for the given exec to notify when it releases its inputs
vtkMutexLock* vtkExecutionScheduler::GetInputsReleasedLock |
( |
vtkExecutive * |
exec | ) |
|
Return the mutex lock reserved for the given exec to notify when it releases its inputs
void vtkExecutionScheduler::ReleaseResources |
( |
vtkExecutive * |
exec | ) |
|
Release the resources that are being used by the given exec
void vtkExecutionScheduler::ReacquireResources |
( |
vtkExecutive * |
exec | ) |
|
Re-acquire the resource released earlier by ReleaseResource
void vtkExecutionScheduler::RescheduleNetwork |
( |
vtkExecutive * |
sink | ) |
|
Redistribute the thread resources over the network from a sink with a maximum resource
Redistribute the thread resources from a sink given a certain amount of resource
static void vtkExecutionScheduler::ClassInitialize |
( |
| ) |
|
|
staticprotected |
static void vtkExecutionScheduler::ClassFinalize |
( |
| ) |
|
|
staticprotected |
friend class implementation |
|
friend |
void* vtkExecutionScheduler_ScheduleThread |
( |
void * |
data | ) |
|
|
friend |
The scheduling thread that is responsible for queueing up module execution in the right order
void* vtkExecutionScheduler_ExecuteThread |
( |
void * |
data | ) |
|
|
friend |
Execute thread function that is responsible for forking process for each module
vtkMutexLock* vtkExecutionScheduler::ScheduleLock |
|
protected |
vtkMultiThreader* vtkExecutionScheduler::ScheduleThreader |
|
protected |
int vtkExecutionScheduler::ScheduleThreadId |
|
protected |
The documentation for this class was generated from the following file: