Simbody
3.3
|
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... | |
Concrete subclasses of this abstract class represent tasks that can be executed by a ParallelExecutor.
|
inlinevirtual |
|
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.
|
inlinevirtual |
This method is invoked once by each worker thread before the task is executed.
This can be used to initialize thread-local storage.
|
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.