47 #ifndef __vtkExecutionScheduler_h
48 #define __vtkExecutionScheduler_h
54 class vtkComputingResources;
94 void WaitUntilAllDone();
99 void WaitForTaskDone(vtkExecutive *exec);
103 void WaitForInputsReleased(vtkExecutive *exec);
115 vtkMutexLock* GetInputsReleasedLock(vtkExecutive *exec);
118 void ReleaseResources(vtkExecutive *exec);
121 void ReacquireResources(vtkExecutive *exec);
125 void RescheduleNetwork(vtkExecutive *sink);
129 void RescheduleFrom(vtkExecutive *sink, vtkComputingResources *resources);
143 class implementation;
145 friend class implementation;
149 friend void * vtkExecutionScheduler_ScheduleThread(
void *data);
153 friend void * vtkExecutionScheduler_ExecuteThread(
void *data);
159 static void ClassInitialize();
160 static void ClassFinalize();
abstract base class for most VTK objects
A class for performing multithreaded execution.
Scheduling execution with thread/computing resources distributing.
vtkMultiThreader * ScheduleThreader
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
vtkThreadMessager * ScheduleMessager
A class for performing inter-thread messaging.
vtkMutexLock * ScheduleLock
maintain a list of executive objects
Manage the instantiation and deletion of the vtkExecutionScheduler singleton.
vtkThreadMessager * ResourceMessager
mutual exclusion locking class
vtkComputingResources * Resources
implementation *const Implementation