Hi Tim,

this is an interesting little grit. Walking the 100s of QProcesses way sounds theoretically viable, but you always only know after you tried.
I wonder why you would need to throttle the performance. You can spawn as many processes as you want and they will be distributed over the available cores by the underlying scheduler. What more needs to be done here?

As an alternative to consider, are you able to identify the place of the call into the DLL that is not thread safe? You could protect that call with a QMutex and then still use a QThreadPool or QtConcurrent or any thread based approach.

Bye,
Cruz