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 关注
- 758 浏览
添加回答
举报
0/150
提交
取消
