在多线程的设计模式下,如果多个线程都使用cout打印信息,那么很容易出现内容交替的现象,例如下图:
代码如下:
如果把cout替换成printf,那么就不会出现这个问题,运行结果如下图:
对应代码如下:
上网搜索了下相关的内容,部分网友反馈结果是:
cout不是线程安全的,要靠自己去线程同步,比较麻烦 。
printf是线程安全的,也就是自己做了线程同步的处理。
这个结果有待继续考证,暂且记在这。
发现一篇对IOstream解释得比较好的文章,有一定的参考价值:http://www.cnblogs.com/lq0729/archive/2011/10/20/2219009.html
时间: 2024-10-17 14:40:38