Simbody  3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SimTK::ParallelExecutor::Task Class Referenceabstract

Concrete subclasses of this abstract class represent tasks that can be executed by a ParallelExecutor. More...

#include <ParallelExecutor.h>

Public Member Functions

virtual ~Task ()
 
virtual void execute (int index)=0
 This method defines the task to be performed. More...
 
virtual void initialize ()
 This method is invoked once by each worker thread before the task is executed. More...
 
virtual void finish ()
 This method is invoked once by each worker thread after all invocations of the task on that thread are complete. More...
 

Detailed Description

Concrete subclasses of this abstract class represent tasks that can be executed by a ParallelExecutor.

Constructor & Destructor Documentation

virtual SimTK::ParallelExecutor::Task::~Task ( )
inlinevirtual

Member Function Documentation

virtual void SimTK::ParallelExecutor::Task::execute ( int  index)
pure virtual

This method defines the task to be performed.

When the Task is passed to a ParallelExecutor's execute() method, this method will be called in parallel the specified number of times.

virtual void SimTK::ParallelExecutor::Task::initialize ( )
inlinevirtual

This method is invoked once by each worker thread before the task is executed.

This can be used to initialize thread-local storage.

virtual void SimTK::ParallelExecutor::Task::finish ( )
inlinevirtual

This method is invoked once by each worker thread after all invocations of the task on that thread are complete.

This can be used to clean up thread-local storage, or to record per-thread results. All calls to this method are synchronized, so it can safely write to global variables without danger of interference between worker threads.


The documentation for this class was generated from the following file: