En general, asumo que las transmisiones no están sincronizadas, depende del usuario hacer el bloqueo apropiado. Sin embargo, ¿cosas como coutrecibir un tratamiento especial en la biblioteca estándar?
Es decir, si se escriben varios subprocesos, ¿ coutpueden dañar el coutobjeto? Entiendo que incluso si estuviera sincronizado, todavía obtendría una salida intercalada aleatoriamente, pero ese intercalado está garantizado. Es decir, ¿es seguro utilizarlo coutdesde varios subprocesos?
¿Depende este proveedor? ¿Qué hace gcc?
Importante : proporcione algún tipo de referencia para su respuesta si dice "sí", ya que necesito algún tipo de prueba de esto.
Mi preocupación tampoco es sobre las llamadas al sistema subyacentes, están bien, pero las secuencias agregan una capa de almacenamiento en búfer en la parte superior.
printfbrilla, ya que la salida completa se escribe de stdoutuna vez; cuando el uso de std::coutcada eslabón de la cadena de expresión se enviaría por separado a stdout; entre ellos puede haber algún otro hilo de escritura stdoutdebido al cual el orden de la salida final se estropea.