в несколько потоков?
А работа Hdd не однопоточная разве ?
Если строки по файлу распределены равномерно, то просто создаёшь несколько читателей, и пусть каждый читает отдельно. В чём сложность? Единственное — учитывай, что любой читатель, кроме самого первого, может у тебя изначально оказаться в середине строки. Нужно это правильно обработать. Ну и помни, что, как правило, такие ухищрения не очень нужны, и на обычном железе никакого профита не принесут. Убедись, что то, что ты делаешь, действительно ускорит твой код.
берёшь N потоков, каждый поток открывает свой StringReader (предположим), позиционируется в fileSize/N позицию, ищет ближайший следующий перевод строки и начинает читать построчно пока не кончится его блок.
Обсуждают сегодня