Function TaskPool.runTaskDist
Runs a new asynchronous task in all worker threads concurrently.
void runTaskDist(FT, ARGS...)
(
FT func,
auto ref ARGS args
)
if (is(typeof(*func) == function));
void runTaskDist(alias method, T, ARGS...)
(
shared(T) object,
auto ref ARGS args
);
This function is mainly useful for long-living tasks that distribute their work across all CPU cores. Only function pointers with weakly isolated arguments are allowed to be able to guarantee thread-safety.
The number of tasks started is guaranteed to be equal to
threadCount
.