[Development] Making TaskTree a public API
Ville Voutilainen
ville.voutilainen at gmail.com
Wed Jul 23 21:48:39 CEST 2025
On Fri, 18 Jul 2025 at 09:51, Jaroslaw Kobus <Jaroslaw.Kobus at qt.io> wrote:
> > It seems far less straightforward in the TaskTree model to take a
> > bunch of task functions and run them in whichever execution context,
> > i.e. bounce them
> > between different threads. That's easy as pie in the senders & receivers model.
>
> That's actually possible - you may use For loop in parallel mode with QConcurrentCallTasks, like:
>
> const LoopList iterator(...); // pass some QList<...> here
>
> const Group recipe {
> For (iterator) >> Do {
> parallelLimit(parallelIdealThreadCountLimit),
> QConcurrentCallTask(...)
> }
> };
>
> In this case we will run in parallel tasks executed in separate threads
> (max. parallelIdealThreadCountLimit tasks running at the same time)
> for each element of the list passed to the iterator.
I wasn't referring to such cases there, i.e. "run these things
wherever, fanning them out". I was referring to
cases like "go over there, and come back", or "hop there-1, there-2,
there-3, and then come back".
More information about the Development
mailing list