У меня есть файл (от 0 до N) байтов, который я хочу загрузить, и мне нужно записать его в файл.
Что быстрее записывает в FileChannel с помощью нескольких потоков или одновременно записывает в несколько RandomAccessFiles из каждого потока, который считывает данные из URL-адреса? Является ли стоимость соединения каждой части в один файл после завершения выше, чем запись в один FileChannel и выполнение в конце?
В документации FileChannels указано
В любой момент времени может выполняться только одна операция, которая затрагивает положение канала или может изменить размер его файла; попытки инициировать вторую такую операцию во время выполнения первой блокируются до завершения первой операции.
Это дает мне подсказку, что запись в несколько файлов выполняется быстрее? Или я неправильно понял?
Изменяются ли результаты, когда файлы больше нескольких сотен мегабайт?