Как удалить определенные символы из нескольких текстовых файлов ориентированным на многопотоковое исполнение способом?

Каков лучший способ, чтобы разработать многопоточную программу, удалить определенные символы из нескольких текстовых файлов, которые передаются в как параметры?

Таким образом, когда кто-то передает как a.out axvc f1 f2 f3 f4, цель состоит в том, чтобы удалить все происшествия символов a, x, v, c из файла f1, f2, f3 и f4.

1
задан nsivakr 6 July 2010 в 17:34
поделиться

2 ответа

Разве вы не можете просто использовать обычные утилиты, такие как sed , чтобы помочь вам в этом?

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

В противном случае, вероятно, самым простым механизмом было бы, чтобы основной поток выполнял ввод-вывод и отправлял работу пулу рабочих потоков, выполняющих удаление символов. Ситуация усложняется, если скорость ввода-вывода действительно увеличивается при выполнении из нескольких потоков.

1
ответ дан 2 September 2019 в 23:15
поделиться

Есть ли конкретная причина, по которой вы хотите использовать несколько потоков для этого? Если файлы находятся на одном устройстве, это не поможет.

1
ответ дан 2 September 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: