我正在学习多线程,有一个简单的问题。在我找到的大多数示例中,在让多个线程使用标准输出缓冲区之前,都会关闭它: setbuf(stdout,NULL); 为什么?如果我从这些代码中删除那行代码,输出结果不会有任何变化!
它可以防止缓冲,这意味着您更能感知各个线程的执行情况。例如,您更有可能在写入stdout时立即看到输出,而不是在一定数量的数据被写入stdout之后才看到。 当您将控制台应用程序的输出导向UI时,这也非常有帮助。