C++ 多线程中使用cout还是printf


在多线程的设计模式下,如果多个线程都使用cout打印信息,那么很容易出现内容交替的现象,例如下图:

代码如下:

 

如果把cout替换成printf,那么就不会出现这个问题,运行结果如下图:

对应代码如下:

 

上网搜索了下相关的内容,部分网友反馈结果是:

cout不是线程安全的,要靠自己去线程同步,比较麻烦 。
printf是线程安全的,也就是自己做了线程同步的处理。

 

这个结果有待继续考证,暂且记在这。

发现一篇对IOstream解释得比较好的文章,有一定的参考价值:http://www.cnblogs.com/lq0729/archive/2011/10/20/2219009.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM