Разница между синхронными и асинхронными методами работы с файлами в современных системах заключается в следующем:
Синхронные методы означают, что программный модуль приостанавливает свою работу до тех пор, пока операция ввода-вывода не будет завершена. 3 Вызывающий метод дожидается завершения вызванного метода. 2
Асинхронные методы предполагают, что программный модуль продолжает выполняться в мультипрограммном режиме одновременно с операцией ввода-вывода. 3 Вызывающий метод не дожидается завершения вызванного метода, а продолжает своё выполнение после вызова асинхронного метода. 2 За счёт этого не блокируется основной поток выполнения кода. 2
В общем случае рекомендуется использовать синхронные методы для работы на стороне сервера и асинхронные — для работы на стороне клиентского приложения. 5