Kyle, thank you very much for the fast answer.
I am not too worried about the performance of stopping the threads
since I only need to do this once per execution of the program which
is expected to take at least on the order of tens of minutes. The
other tasking system is actually the library version of an integer
linear programming solver which really needs to run using parallelism,
otherwise it will take a long time. There is no task either queued or
running on qthreads at that point, but there will be some after the
solver finishes.
I was hoping to do this without modifying Qthreads itself, since this
would lead to complications about building and distributing the
application. The only solution I see right now is to save all FEBs
somewhere, finalize qthreads, wait for the solver to finish and then
initialize qthreads again and re-insert FEBs corresponding to the old
ones.
An alternative approach would be to selectively initialize just the
FEB part of qthreads (without starting the workers). Is there some way
to do this without modifying the qthreads code?
Best,
Dragos