This is the documentation for Enlighten.

class Enlighten IThreadGroup

class Enlighten::IThreadGroup

    └>Geo::IGeoReleasable

Interface through which MultithreadCpuWorker runs tasks on multiple threads in parallel.

Functions

Name Description
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)

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.

Shutdown()

One-time shut down function.


virtual Geo::s32 Enlighten::IThreadGroup::GetNumThreads


public: Geo::s32 GetNumThreads()


The number of threads in the thread group.


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


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::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::IThreadGroup::Shutdown


public: void Shutdown()


One-time shut down function.