Я пишу приложение, которое должно обрабатывать большой текстовый файл (разделенный запятыми с несколькими различными типами записей - у меня нет полномочий или желания менять формат хранения данных). Он считывает записи (часто все записи в файле последовательно, но не всегда), затем данные для каждой записи передаются для некоторой обработки.
Прямо сейчас эта часть приложения является однопоточной (чтение записи, обработка ее, чтение следующей записи и т. Д.). Я думаю, что было бы более эффективно читать записи в очереди в одном потоке и обрабатывать их в другом потоке небольшими блоками или по мере их поступления.
Я понятия не имею, как начать программировать что-то подобное, включая необходимую структуру данных или как правильно реализовать многопоточность. Кто-нибудь может дать какие-либо указания или предложить другие предложения о том, как я могу улучшить производительность здесь?