84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
ringa_lee
cout的话, 是行级缓冲, 只要碰到换行符就会flush一次. 但是cout对象在析构的时候也会flush一次. 你那个例子里面, 在return 0之前cout对象需要析构一次.cerr的话, 已经忘了APUE里面怎么说的了, 调试下来发现没有缓冲.....
多线程的时候你就体会到了,如果不清缓存,A线程的日志可能会在B线程被打印出来
cout的话, 是行级缓冲, 只要碰到换行符就会flush一次. 但是cout对象在析构的时候也会flush一次. 你那个例子里面, 在return 0之前cout对象需要析构一次.
cerr的话, 已经忘了APUE里面怎么说的了, 调试下来发现没有缓冲.....
多线程的时候你就体会到了,如果不清缓存,A线程的日志可能会在B线程被打印出来