sé que no existe el concepto de hilos de la corriente C++
, pero this article is saying:¿Los flujos de salida estándar en C++ son seguros para subprocesos (cout, cerr, clog)?
Un typesafe, multi-hilo, portátil mecanismo de registro
.....
La función
fprintf()
es threadsafe, por lo que incluso si este registro se utiliza desde diferentes hilos, las líneas de salida no se codificarán.
¿Qué hay de cout
, cerr
y clog
?
Creo que esta pregunta es aplicable a todo tipo de tipos de flujo en C++ también, como fstream
y stringstream
.
[Nota: la respuesta es ahora "sí", en C++ 11] (http://stackoverflow.com/a/6374525/87234). – GManNickG
@GManNickG: uso Visual Studio 2013 C++ y cout todavía no es seguro para subprocesos. las salidas en la pantalla están mayormente corruptas/entremezcladas. –
@MehmetFide: la seguridad del subproceso es diferente de la sincronización (cadenas mixtas/intercaladas); C++ 11 estándar garantiza que la implementación no conduce a razas de datos al usar estos objetos de diferentes subprocesos, mientras que depende de usted asegurarse de que múltiples llamadas 'operator <<' estén sincronizadas. – legends2k