Существует папка, содержащая 1000 маленьких текстовых файлов. Я пытаюсь разобрать и обработать все из них, пока в папку будет занесено больше файлов. Мое намерение состоит в многопоточности этой операции, поскольку один прототип с прототипом занимает шесть минут для обработки 1000 файлов.
Мне нравится иметь потоки чтения и записи как следующие. Пока читающий поток читает файлы, я хотел бы иметь потоки писем для их обработки. Когда читатель начнет чтение файла, я хотел бы отметить его как обработанный, например, переименовав его. После того, как он будет прочитан, переименуйте его в завершенный.
Как мне подойти к многопоточному приложению?
Лучше ли использовать распределенную хеш-таблицу или очередь?
Какую структуру данных я использую, чтобы избежать блокировок?
Есть ли лучший подход к этой схеме?