Рассмотрим простое Java-приложение, которое должно проходить по дереву файлов на диске, чтобы найти определенный шаблон в теле файла.
Интересно, можно ли добиться лучшей производительности, используя многопоточность, например, когда мы находим новую папку, мы отправляем новый Runnable в фиксированном ThreadPool. Выполняемая задача должна проходить через папку для поиска новых папок и т. Д. По моему мнению, эта операция должна быть связана с вводом-выводом, а не с процессором, поэтому создание нового потока не приведет к повышению производительности.
Зависит ли это от типа жесткого диска? (HDD, ... и т. д.)
Это зависит от типа ОС?
ИМХО, единственное, что может быть параллельным, - это создание нового потока для анализа содержимого файла, чтобы найти шаблон в теле файла.
Какова общая схема решения этой проблемы? Должен ли он быть многопоточным или однопоточным?