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