Использование нескольких потоков для записи в одном файле - PullRequest
1 голос
/ 23 ноября 2011

Могу ли я использовать несколько потоков для записи в RandomAccessFile в Java?

Я знаю, что RandomAccessFiles позволяет читать и писать в любой позиции.

Я хочусоздать n частей вышеупомянутого файла и позволить каждому потоку записывать содержимое в определенной части.

улучшит ли это производительность ввода-вывода?

Желаете скоро услышать ......

1 Ответ

3 голосов
/ 23 ноября 2011

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

...