Возможна ли одновременная запись данных в один файл?
если работа с файлами организована правильно - то кто-то один немного подождет, пока запишет другой.
если все совсем печально - то сработает принцип "кто последний - тот и папа".
Исходя из вопроса трудно понять каким образом запланирована работа вашего приложения и как построена обработка ошибок, но в любом случае Вам нужно каким-то образом помечать какой пользователь совершил добавление информации. 
Если у вас сервер, то можно накапливать данные в буфере перед записью. Если десктопное приложение - хранить файлы в отдельном каталоге пользователя, рядом с программой.
В любом случае файлы не самый лучший способ для хранения информации, так как они не обладают строгой структурой (а также индексаций, метаинформацией и возможность доступа к информации при помощи запросов). Задумайтесь над тем, чтобы хранить данные во встроенных базах данных (sqlite, tinydb, CodernityDB) - для десктопных программ, или же реляционных базах данных (MySQL, PostgreSQL, MS SQL, ...) - для серверных решений.
Если не использовать базы данных, то обычно после задач хранения данных следуют задачи по поиску и изменению данных и Вам самостоятельно нужно будет реализовывать необходимые для этого алгоритмы. А для этого требуется достаточно хорошо ознакомится с принципами хранения данных в файлах (Flat-file Database, File Storage и т.д.)
К тому же нужно будет реализовывать механизм владениями файлами (блокировки, лимиты по времени и правам доступа), чтобы избежать "состояния гонки" (параллельная работа нескольких пользователей с одним файлом).