Я думаю, что настало время для моего отказа от многозадачности:
Одна альтернативная задача, которую вы запускаете в цикле, который перемещается по файлам, в значительной степени стандартна. Если не что иное, просто не блокировать основной поток / GUI-поток.
Но многозадачность во всех ее формах - это не волшебная пуля «делай вещи быстрее». Если вы примените его к неправильной проблеме, вы получите код, который более сложен / более подвержен ошибкам, требует больше памяти и, что более важно, медленнее , чем простой последовательный код.
Файл сейчасобработка обычно связана с диском или сетью. Вы получаете только 4 байта, так что я полагаю, что вы не выполняете много работы с CPU для каждого файла. Таким образом, единственной работой процессора здесь будет открытие и закрытие ручек. Я уверен, что это почти ничего, если только вы не используете антик, например, PIO для дисков / сети. То же касается и диска / сети.
Существует несколько незначительных случаев с подключениями через Интернет и ограничениями для каждого подключения, но я сомневаюсь, что они применимы здесь. И, как правило, многозадачность для каждого файла ничего не ускоряет.