首页 > 代码库 > C++ 多线程中使用cout还是printf

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

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

代码如下:

 

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

对应代码如下:

 

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

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

 

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

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

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