Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

NameDescription
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.


Anchor
a70f1ffa971dd43b77631add4c6401ebe
a70f1ffa971dd43b77631add4c6401ebe

Enlighten::AsyncTaskThreadGroup::AsyncTaskThreadGroup

...

public: AsyncTaskThreadGroup
(
    AsyncTaskCallback callback,
    Geo::s32 numThreads
)

...

AsyncTaskThreadGroup constructor.


Anchor
a73d3168edfc75b1aea250ac406bf9bd9
a73d3168edfc75b1aea250ac406bf9bd9

virtual Geo::s32 Enlighten::AsyncTaskThreadGroup::GetNumThreads

...

public: virtual Geo::s32 GetNumThreads()

...

The number of threads in the thread group.


Anchor
a916a546e6df561fb4289c102234bc6b1
a916a546e6df561fb4289c102234bc6b1

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

...

public: Geo::s32 GetNumThreads()

...

The number of threads in the thread group.


Anchor
a1cc5a5e02d58342a4f084098ed40679e
a1cc5a5e02d58342a4f084098ed40679e

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


Anchor
ab8ab66a914ab31dd3c4709e484e4e78e
ab8ab66a914ab31dd3c4709e484e4e78e

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


Anchor
adaed81b4c59f263dcb4e78c4126f4683
adaed81b4c59f263dcb4e78c4126f4683

Geo::NonCopyable::NonCopyable

...

public: NonCopyable
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
a6abc781e23b8f4864e0b868806e0acbf
a6abc781e23b8f4864e0b868806e0acbf

NonCopyable& Geo::NonCopyable::operator=

...

public: NonCopyable & operator=
(
    NonCopyable &&
)

...

Defaulted to allow move.


Anchor
a4e0d97dad778b97a406d2771043c984b
a4e0d97dad778b97a406d2771043c984b

virtual void Enlighten::AsyncTaskThreadGroup::Release

...

public: virtual void Release()

...

This function will be called when MultithreadCpuWorker is destroyed.


Anchor
a215819a486395726a62c69886f1d79aa
a215819a486395726a62c69886f1d79aa

virtual void Enlighten::IThreadGroup::Release

...

public: void Release()

...

This function will be called when MultithreadCpuWorker is destroyed.


Anchor
af6bdf30b42adde386c428e9dc2821eb9
af6bdf30b42adde386c428e9dc2821eb9

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)'


Anchor
a707a384797dabd1746deef8eff5051dd
a707a384797dabd1746deef8eff5051dd

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.


Anchor
a171217d6c604351c035ecf28751b13a8
a171217d6c604351c035ecf28751b13a8

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.


Anchor
a6eab9604527ebac1bf9dfd8015206341
a6eab9604527ebac1bf9dfd8015206341

virtual void Enlighten::AsyncTaskThreadGroup::Shutdown

...

public: virtual void Shutdown()

...

One-time shut down function.


Anchor
aee019ebe765b069620559f866d27d1c5
aee019ebe765b069620559f866d27d1c5

virtual void Enlighten::IThreadGroup::Shutdown

...

public: void Shutdown()

...

One-time shut down function.