#include <MThreadPool.h>
MThreadPool class. The thread pool is created with a number of threads equal to one less than the number of logical processors.
Static Public Member Functions | |
| static MStatus | init () |
| static MStatus | newParallelRegion (MThreadCallbackFunc func, void *data) |
| static MStatus | createTask (MThreadFunc func, void *data, MThreadRootTask *root) |
| static MStatus | executeAndJoin (MThreadRootTask *root) |
| static void | release () |
| MStatus MThreadPool::init | ( | ) | [static] |
Initialize thread pool creation. No threads are created by this call.
| MStatus MThreadPool::newParallelRegion | ( | MThreadCallbackFunc | func, | |
| void * | data | |||
| ) | [static] |
Creates a new parallel region. All tasks created by createTask() will be added to this region. init() must be called to create the thread pool before calling this function.
| [in] | func | pointer to function to be executed by threads |
| [in] | data | data for function |
| MStatus MThreadPool::createTask | ( | MThreadFunc | func, | |
| void * | data, | |||
| MThreadRootTask * | root | |||
| ) | [static] |
Add a single task to the parallel region. The parallel region must already have been created by calling newParallelRegion.
| [in] | func | pointer to function to be executed by threads |
| [in] | data | data for function |
| [in] | root | root task |
| MStatus MThreadPool::executeAndJoin | ( | MThreadRootTask * | root | ) | [static] |
Run all tasks in the present parallel region to completion. This function must be called from within a function invoked by the method newParallelRegion.
| [in] | root | task to execute |
| void MThreadPool::release | ( | ) | [static] |
Release decreases the reference count on the thread pool. When the reference count reaches zero the thread pool is deleted.
| Autodesk® Maya® 2010 © 1997-2009 Autodesk, Inc. All rights reserved. |
Generated with
|