Я понимаю, что для исключения промежуточного смешения вывода доступ к cout и cerr несколькими потоками должен быть синхронизирован. В программе, использующей как cout, так и cerr, достаточно ли их блокировать отдельно? или все еще небезопасно писать одновременно cout и cerr?
Изменить пояснение: я понимаю, что cout и cerr являются "Thread Safe" в С++ 11. Мой вопрос заключается в том, может ли запись в cout и запись в cerr разными потоками одновременно вмешиваться друг в друга (что приводит к перемежаемому вводу и тому подобное) в том виде, в котором две записи могут выполняться cout.