Может ли что-нибудь плохое (например, поведение undefined, повреждение файла и т.д.), если несколько потоков одновременно вызывают fflush()
в той же переменной FILE*
?
Разъяснение: Я не хочу писать файл одновременно. Я имею в виду только промывку его одновременно.
Нити не читают и не записывают файл одновременно (они записывают файл только в критическом разделе, по одному потоку за раз). Они только выходят за пределы критической секции, чтобы освободить критический раздел раньше, чтобы другие выполняли другую работу (кроме записи файла).
Хотя может случиться, что один поток записывает файл (внутри критического раздела), в то время как другой поток стирает файл (вне критического раздела).