Я использую std::cout для печати журнала на консоли. Поскольку программа многопоточная, результат печати будет неупорядоченным, если я использую более одной операции "‹‹" после cout.
Например, если один поток выполняет cout<< "A" << "B" << endl;
, другой поток может выполнять cout << "C";
между A и B. Результатом будет "ACB".
Поэтому я собираюсь написать новый класс, наследующий ostream
(который на самом деле является basic_ostream<char, char_traits<char>>
) и добавить блокировку при инициализации cout, поэтому распечатка должна следовать правильному порядку.