私は現在C++
内のスレッドの概念がないことを知っているが、this article is saying:C++の標準出力ストリームはスレッドセーフ(cout、cerr、clog)ですか?
タイプセーフ、スレッドセーフ、 ポータブルロギングメカニズム
.....
fprintf()
関数はスレッドセーフです このログを別のスレッド から使用しても出力行 はスクランブルされません。
何cout
、cerr
とclog
は?
この質問は、fstream
とstringstream
のように、C++のすべての種類のストリームタイプにも当てはまると思います。
[注:答えは "yes"、C++ 11](http://stackoverflow.com/a/6374525/87234)です。 – GManNickG
@GManNickG:Visual Studio 2013 C++を使用していますが、依然としてスレッドセーフではありません。画面上のアウトプットは、ほとんどが壊れている/混在しています。 –
@MehmetFide:スレッドセーフティは、同期(混合/インターリーブされた文字列)とは異なります。複数の 'operator <<'呼び出しが同期されていることを確認する間に、実装が異なるスレッドからこれらのオブジェクトを使用する際にデータ競合に至らないことをC++ 11の標準的な保証人に示します。 – legends2k