runWorkerTaskDist

Runs a new asynchronous task in all worker threads concurrently.

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

  1. void runWorkerTaskDist(FT func, ARGS args)
    void
    runWorkerTaskDist
    (
    FT
    ARGS...
    )
    (
    FT func
    ,
    auto ref ARGS args
    )
    if (
    is(typeof(*func) == function)
    )
  2. void runWorkerTaskDist(shared(T) object, ARGS args)

Meta