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线程被打印出来