我有一个运行并行线程的命令行工具。这些线程输出到命令行。
我遇到的问题是命令行提示从同时输出文本的多个线程中混杂在一起。
Logger 也会出现困惑的文本提示。
我可以想象所有的命令行提示都可以输出到一个可变锁显示模块。但这是一次重要的代码重构。另外,它会减慢代码速度。
这个问题还有其他简单的解决方案吗?
请您参考如下方法:
如果线程使用print() 函数输出数据,您可以在启动线程之前插入您自己的打印函数。您的 print 可以将输出存储在队列中,这不会减慢代码速度(但队列可能会增长)。一个新的单线程将从队列中读取数据并将其写入显示器。
