30 Input/output library [input.output]

30.2 Iostreams requirements [iostreams.requirements]

30.2.3 Thread safety [iostreams.threadsafety]

Одновременный доступ к объекту потока ([string.streams], [file.streams]), объекту буфера потока ([stream.buffers]) или потоку библиотеки C ([c.files]) несколькими потоками может привести к гонке данных ([intro.multithread]), если не указано иное ([iostream.objects]). [ Note: Гонки данных приводят к неопределенному поведению ([intro.multithread]). ] end note

Если один поток делает вызов библиотеки , a которая записывает значение потока и, как следствие, другой поток считывает это значение из потока через библиотеку вызова b таким образом, что это не приведет к гонке данных, а затем a«s синхронизирует запись с b» прочитал.