Я столкнулся с этими двумя терминами, и мое понимание их, похоже, перекрывается друг с другом. Flush используется с буферами, а синхронизация используется для обсуждения сохраняющихся изменений файла на диске.
В C, fflush (stdin), убедитесь, что буфер очищен. И fsync, чтобы сохранить файл изменений на диске.
Если эти понятия не определены повсеместно, предпочли бы объяснение linux, java.
Я нашел связанный пост, но я не отвечаю на мой вопрос. На самом деле принудительная синхронизация файлов/флеш в Java