1.5 KiB
1.5 KiB
[iostreams.threadsafety]
31 Input/output library [input.output]
31.2 Iostreams requirements [iostreams.requirements]
31.2.4 Thread safety [iostreams.threadsafety]
Concurrent access to a stream object ([string.streams], [file.streams]), stream buffer object ([stream.buffers]), or C Library stream ([c.files]) by multiple threads may result in a data race ([intro.multithread]) unless otherwise specified ([iostream.objects]).
[Note 1:
Data races result in undefined behavior ([intro.multithread]).
â end note]
If one thread makes a library call a that writes a value to a stream and, as a result, another thread reads this value from the stream through a library call b such that this does not result in a data race, thena's write synchronizes withb's read.