如何在数据线程之间传递数据?

How do I pass data between data threads?

我在 Python 中有三个共享 ASCII 数据的线程。第一个线程以极快的速度从串行端口读取串行数据。然后,我解析该数据并将其传递到写入数据的套接字。此外,串行数据中的一些数据被写入 XML 文件。我知道全局解释器锁及其局限性。我需要在 1/10 秒内完成所有这些操作。通过使用我在线程之间共享的全局值,我看到了大量 CPU 的使用和延迟。我不认为我可以像处理其他 languishes 那样使用 Python 中的事件。

如何以同步方式在这些线程之间共享数据而不会延迟 CPU 在 Python 中的使用?

我认为最好的实现方式是使用 python 队列模块: https://docs.python.org/2/library/queue.html

队列基本上是列表,但它们是线程安全的,并且 'get' 函数有效地阻塞线程,直到一些数据在其中排队。对于 CPU.

应该更有效率