线程完成时锁定命令行文本输出而不会减慢整个程序?

时间:2016-12-11 07:44:39

标签: python multithreading python-3.x

我有一个运行并行线程的命令行工具。这些线程输出到命令行。

我遇到的问题是命令行提示在多个线程同时输出文本时混杂在一起。

记录器也是文字提示的混乱。

我可以想象所有命令行提示都可以输出到变量锁定显示模块。但这是一个重要的代码重构。此外,它会减慢代码速度。

这个问题有另一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:1)

如果线程使用print()函数输出数据,则可以在启动线程之前插入自己的打印函数。您的打印可以将输出存储在队列中,这不会减慢代码速度(但队列可能会增长)。新的单个线程将从队列中读取数据并将其写入显示。