Optimising python3 multiprocessing when each process requires multiple threads