1 #ifndef SimTK_SimTKCOMMON_PARALLEL_EXECUTOR_H_ 2 #define SimTK_SimTKCOMMON_PARALLEL_EXECUTOR_H_ 31 class ParallelExecutor;
32 class ParallelExecutorImpl;
36 #ifndef SimTK_SIMTKCOMMON_DEFINING_PARALLEL_EXECUTOR 37 extern template class PIMPLHandle<ParallelExecutor, ParallelExecutorImpl>;
81 void execute(
Task& task,
int times);
85 static int getNumProcessors();
89 static bool isWorkerThread();
104 virtual void execute(
int index) = 0;
122 #endif // SimTK_SimTKCOMMON_PARALLEL_EXECUTOR_H_ #define SimTK_SimTKCOMMON_EXPORT
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:218
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
virtual ~Task()
Definition: ParallelExecutor.h:98
This class is used for performing multithreaded computations.
Definition: ParallelExecutor.h:65
virtual void finish()
This method is invoked once by each worker thread after all invocations of the task on that thread ar...
Definition: ParallelExecutor.h:116
virtual void initialize()
This method is invoked once by each worker thread before the task is executed.
Definition: ParallelExecutor.h:109
This header provides declarations of the user-visible portion of the PIMPLHandle template classes tha...
Concrete subclasses of this abstract class represent tasks that can be executed by a ParallelExecutor...
Definition: ParallelExecutor.h:96