Я сомневаюсь, что пропускная способность памяти будет такой же большой проблемой, как ограничения дискового ввода-вывода. С большинством аппаратного обеспечения вы будете очень ограничены в том, как каждый поток может читать с диска -
Если вы хотите максимизировать пропускную способность, вам может понадобиться сделать что-то вроде одного потока, который должен обрабатывать дисковый ввод-вывод (большинство аппаратных средств может одновременно передавать только один блок с диска, так что это будет ограничивающим фактором) , Затем он может принять это и передать куски памяти отдельным потокам в некотором типе пула потоков для обработки.
Я предполагаю, что ваша обработка будет быстрой - возможно, намного быстрее, чем дисковый ввод-вывод - но если она медленная, наличие нескольких потоков обработки может ускорить всю вашу работу.
Несколько указателей FILE * будут работать - но на самом деле они могут работать медленнее, чем просто один, так как в конечном итоге они будут разбивать время на чтение файла, и вы будете больше прыгать на диске.