cout同步/線程安全嗎?一般來說,我假設流不是同步的,應該由用戶來執行適當的鎖定。然而,做這樣的事情cout在標準圖書館得到特殊待遇?也就是說,如果多個線程正在寫入cout他們能把cout反對?我知道,即使同步,您仍然會得到隨機交錯的輸出,但這種交織是有保證的。也就是說,使用起來安全嗎?cout從多個線程?這個供應商依賴嗎?GCC是做什么的?重要:如果你說“是”,請提供一些參考,因為我需要一些證據。我還擔心的不是底層的系統調用,它們很好,但是流在頂部添加了一層緩沖。
3 回答
茅侃侃
TA貢獻1842條經驗 獲得超22個贊
basic_streambuf<...>:sputc
int_type
sputc(char_type __c)
{
int_type __ret;
if (__builtin_expect(this->pptr() < this->epptr(), true)) {
*this->pptr() = __c;
this->pbump(1);
__ret = traits_type::to_int_type(__c);
}
else
__ret = this->overflow(traits_type::to_int_type(__c));
return __ret;
}xsputn
xsputn
write
- 3 回答
- 0 關注
- 726 瀏覽
添加回答
舉報
0/150
提交
取消
