Многопоточный подход для поиска текстового шаблона в файлах

Рассмотрим простое приложение Java, которое должно перемещаться по дереву файлов на диске, чтобы найти определенный шаблон в теле файла.

Интересно, можно ли добиться лучшей производительности, используя многопоточность, например, когда мы находим новую папку, мы отправляем новый Runnable в фиксированный пул потоков. Выполняемая задача должна перемещаться по папке, чтобы найти новые папки и т. Д. На мой взгляд, эта операция должна быть связана с вводом-выводом, а не с ЦП, поэтому создание нового потока не улучшит производительность.

Это зависит от типа жесткого диска? (жесткий диск, ... и т. д.) Это зависит от типа ОС?

ИМХО, единственное, что может быть параллельно, - это создать новый поток для анализа содержимого файла, чтобы найти шаблон в теле файла.

Каков общий шаблон для решения этой проблемы? Должен ли он быть многопоточным или однопоточным?

0
задан Anton 16 December 2011 в 13:20
поделиться