从多个线程更新命令行printf信息

时间:2013-09-30 02:27:20

标签: c++ multithreading printing

我的情况是,我有一些数据将从两个不同的线程打印出来。

但是,因为这个数据只是一个数字的增加,我想把它打印成一行 使用'\ r'

但是我找不到可以使这个工作的方法,因为它是两个线程打印到同一个 线

总是,一个印刷品会覆盖另一个印刷品,输出变得一团糟。

我想知道我的问题是否有解决方案。

2 个答案:

答案 0 :(得分:0)

您需要将printf包装在互斥锁中,以便一次只能有一个线程访问它。这将阻止您的输出交错。

答案 1 :(得分:0)

终于得到了解决方案, 我把所有东西放在一个缓冲区中,我只是打印缓冲区。