+ std::uint32_t nbThreadsRunning = _tasks.size();
+ std::uint32_t nbOfFreeSpace = _maxNbThreads - min(_maxNbThreads,nbThreadsRunning);
+ std::uint32_t nbOfCandidates = static_cast<std::uint32_t>( curtsks.size() );
+ std::uint32_t nbOfCandidatesToBeLaunched = std::min(nbOfCandidates,nbOfFreeSpace);
+ DEBTRACE("nb threads running: " << nbThreadsRunning);
+ DEBTRACE("MaxNbThreads: " << _maxNbThreads);
+ DEBTRACE("nbOfFreeSpace: " << nbOfFreeSpace);
+ DEBTRACE("nbOfCandidates: " << nbOfCandidates);
+ DEBTRACE("nbOfCandidatesToBeLaunched: " << nbOfCandidatesToBeLaunched);
+ ret.insert(ret.end(),curtsks.begin(),curtsks.begin() + nbOfCandidatesToBeLaunched);