TaskPool

Implements a shared, multi-threaded task pool.

Constructors

this
this(size_t thread_count)

Creates a new task pool with the specified number of threads.

Members

Functions

join
void join()

Instructs all worker threads to terminate as soon as all tasks have been processed and waits for them to finish.

runTask
void runTask(FT func, ARGS args)
void runTask(shared(T) object, ARGS args)
void runTask(TaskSettings settings, FT func, ARGS args)
void runTask(TaskSettings settings, shared(T) object, ARGS args)

Runs a new asynchronous task in a worker thread.

runTaskDist
void runTaskDist(FT func, ARGS args)
void runTaskDist(shared(T) object, ARGS args)
void runTaskDist(TaskSettings settings, FT func, ARGS args)
void runTaskDist(TaskSettings settings, shared(T) object, ARGS args)
deprecated void runTaskDist(FT func, ARGS args)
deprecated void runTaskDist(shared(T) object, ARGS args)
deprecated void runTaskDist(TaskSettings settings, FT func, ARGS args)
deprecated void runTaskDist(TaskSettings settings, shared(T) object, ARGS args)

Runs a new asynchronous task in all worker threads concurrently.

runTaskDistH
void runTaskDistH(HCB on_handle, FT func, ARGS args)
void runTaskDistH(TaskSettings settings, HCB on_handle, FT func, ARGS args)

Runs a new asynchronous task in all worker threads and returns the handles.

runTaskH
Task runTaskH(FT func, ARGS args)
Task runTaskH(shared(T) object, ARGS args)
Task runTaskH(TaskSettings settings, FT func, ARGS args)
Task runTaskH(TaskSettings settings, shared(T) object, ARGS args)
deprecated Task runTaskH(FT func, ARGS args)
deprecated Task runTaskH(shared(T) object, ARGS args)
deprecated Task runTaskH(TaskSettings settings, FT func, ARGS args)
deprecated Task runTaskH(TaskSettings settings, shared(T) object, ARGS args)

Runs a new asynchronous task in a worker thread, returning the task handle.

terminate
void terminate()

Instructs all worker threads to terminate and waits until all have finished.

Properties

threadCount
size_t threadCount [@property getter]

Returns the number of worker threads.

Meta