Я создаю объект RandomAccessFile
для записи в файл (на SSD) несколькими потоками. Каждый поток пытается записать буфер прямого байта в определенную позицию внутри файла, и я гарантирую, что позиция, в которой поток пишет, не будет перекрываться с другим потоком:
file_.getChannel().write(buffer, position);
где file_
- это экземпляр RandomAccessFile
, а buffer
- буфер с прямым байтом.
Для объекта RandomAccessFile, поскольку я не использую fallocate для выделения файла, а длина файла меняется, будет ли использоваться concurrency основного носителя?
Если это не так, есть ли смысл использовать указанную выше функцию без вызова fallocate при создании файла?