cout同步/线程安全吗?一般来说,我假设流不是同步的,应该由用户来执行适当的锁定。然而,做这样的事情cout在标准图书馆得到特殊待遇?也就是说,如果多个线程正在写入cout他们能把cout反对?我知道,即使同步,您仍然会得到随机交错的输出,但这种交织是有保证的。也就是说,使用起来安全吗?cout从多个线程?这个供应商依赖吗?GCC是做什么的?重要:如果你说“是”,请提供一些参考,因为我需要一些证据。我还担心的不是底层的系统调用,它们很好,但是流在顶部添加了一层缓冲。
3 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
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 关注
- 674 浏览
添加回答
举报
0/150
提交
取消