In generale presumo che i flussi non siano sincronizzati, spetta all'utente eseguire il blocco appropriato. Tuttavia, cose come coutottenere un trattamento speciale nella libreria standard?
Cioè, se più thread stanno scrivendo, coutpossono danneggiare l' coutoggetto? Capisco che anche se sincronizzato avresti comunque un output interlacciato casualmente, ma è quell'interlacciamento garantito. Cioè, è sicuro da usare coutda più thread?
Questo fornitore dipende? Cosa fa gcc?
Importante : fornisci un qualche tipo di riferimento per la tua risposta se dici "sì" poiché ho bisogno di una sorta di prova di ciò.
La mia preoccupazione non riguarda anche le chiamate di sistema sottostanti, quelle vanno bene, ma i flussi aggiungono uno strato di buffering in cima.
printfbrilla quando l'intero output viene scritto stdoutin un colpo solo; quando si utilizza std::coutogni collegamento della catena di espressioni verrebbe visualizzato separatamente in stdout; tra di loro può esserci qualche altro thread in scrittura a stdoutcausa del quale l'ordine dell'output finale viene incasinato.