Ты сразу при переборе директорий можешь фильтровать выдачу, найти сначала приоритетные расширения, апишки винды позволяют это делать, с фильтрами при энумерации директорий и файлов у тебя будут пропускаться файлы(расширения), которые не нужны, а вторым проходом можешь уже накрыть файлы из остальных неприоритетных расширенийВ первом случае, с определенной вероятностью, мы можем отсрочить обноружение и отсортировать файлы по приоритетным расширениям.
Во втором случае таких возможностей нет, но зато не придется создавать внешних файлов для храниния таргетов
Либо ты можешь делать это параллельно в двух потоках, но первому потоку дать больший приоритет, а второму намеренно его занизить, и повесить колбэк, что бы когда у тебя первый полностью отработает все приоритетные расширения, вернуть второму потоку нормальный приоритет работы