Moment. Du schreibst doch in vier? Ich habe jetzt euren Code nicht studiert, aber du hast eine zum Lesen geöffnet und vier zum schreiben. Oder schließt er die zu schreibenden Dateien immer wieder.
Lies den thread, er will das splitten damit da nachher 4 threads darauf zugreifen können. Deswegen meine Idee mit dem share read, kein shreiben vorher notwendig