This is the documentation for Enlighten.
class Enlighten AsyncTaskThreadGroup
class Enlighten::AsyncTaskThreadGroup
└>Enlighten::IThreadGroup
└>Geo::IGeoReleasable
A thread group which executes Enlighten tasks by calling the AsyncTaskCallback a given number of times, and uses GeoEvent signalling to wait until all threads have completed execution.
Functions
Name | Description |
---|---|
AsyncTaskThreadGroup(AsyncTaskCallback, Geo::s32) | AsyncTaskThreadGroup constructor. |
GetNumThreads() | The number of threads in the thread group. |
GetNumThreads() | The number of threads in the thread group. |
Init() | Init() and Shutdown() will be called on the thread which calls Run() (ie the update manager worker thread) |
Init() | Init() and Shutdown() will be called on the thread which calls Run() (ie the update manager worker thread) |
NonCopyable(NonCopyable &&) | Defaulted to allow move. |
operator=(NonCopyable &&) | Defaulted to allow move. |
Release() | This function will be called when MultithreadCpuWorker is destroyed. |
Release() | This function will be called when MultithreadCpuWorker is destroyed. |
Release() | Free this object that was created within the Enlighten libraries. |
Run(TaskProcessor *, const char *) | Run tasks using threads in the thread group. |
Run(TaskProcessor *, const char *) | Run tasks using threads in the thread group. |
Shutdown() | One-time shut down function. |
Shutdown() | One-time shut down function. |
Enlighten::AsyncTaskThreadGroup::AsyncTaskThreadGroup
public: AsyncTaskThreadGroup
(
AsyncTaskCallback callback,
Geo::s32 numThreads
)
AsyncTaskThreadGroup constructor.
virtual Geo::s32 Enlighten::AsyncTaskThreadGroup::GetNumThreads
public: virtual Geo::s32 GetNumThreads()
The number of threads in the thread group.
virtual Geo::s32 Enlighten::IThreadGroup::GetNumThreads
public: Geo::s32 GetNumThreads()
The number of threads in the thread group.
virtual void Enlighten::AsyncTaskThreadGroup::Init
public: virtual void Init()
Init() and Shutdown() will be called on the thread which calls Run() (ie the update manager worker thread)
One-time initialisation function
virtual void Enlighten::IThreadGroup::Init
public: void Init()
Init() and Shutdown() will be called on the thread which calls Run() (ie the update manager worker thread)
One-time initialisation function
Geo::NonCopyable::NonCopyable
public: NonCopyable
(
NonCopyable &&
)
Defaulted to allow move.
NonCopyable& Geo::NonCopyable::operator=
public: NonCopyable & operator=
(
NonCopyable &&
)
Defaulted to allow move.
virtual void Enlighten::AsyncTaskThreadGroup::Release
public: virtual void Release()
This function will be called when MultithreadCpuWorker is destroyed.
virtual void Enlighten::IThreadGroup::Release
public: void Release()
This function will be called when MultithreadCpuWorker is destroyed.
virtual void Geo::IGeoReleasable::Release
public: void Release()
Free this object that was created within the Enlighten libraries.
Expect this to behave in a similar way to calling 'delete(this)'
virtual void Enlighten::AsyncTaskThreadGroup::Run
public: virtual void Run
(
TaskProcessor * taskProcessors,
const char * name
)
Run tasks using threads in the thread group.
The array of task processors will have the number of elements returned by GetNumThreads(). The name parameter will describe which Enlighten processing stage is being run, for profiling purposes.
virtual void Enlighten::IThreadGroup::Run
public: void Run
(
TaskProcessor * taskProcessors,
const char * name
)
Run tasks using threads in the thread group.
The array of task processors will have the number of elements returned by GetNumThreads(). The name parameter will describe which Enlighten processing stage is being run, for profiling purposes.
virtual void Enlighten::AsyncTaskThreadGroup::Shutdown
public: virtual void Shutdown()
One-time shut down function.
virtual void Enlighten::IThreadGroup::Shutdown
public: void Shutdown()
One-time shut down function.