在多線程的設計模式下,如果多個線程都使用cout打印信息,那么很容易出現內容交替的現象,例如下圖:
代碼如下:
如果把cout替換成printf,那么就不會出現這個問題,運行結果如下圖:
對應代碼如下:
上網搜索了下相關的內容,部分網友反饋結果是:
cout不是線程安全的,要靠自己去線程同步,比較麻煩 。
printf是線程安全的,也就是自己做了線程同步的處理。
這個結果有待繼續考證,暫且記在這。
發現一篇對IOstream解釋得比較好的文章,有一定的參考價值:http://www.cnblogs.com/lq0729/archive/2011/10/20/2219009.html