用于读取串行端口的Python多线程/多进程

2024-04-27 05:46:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个python类,利用并行处理/线程读取两个串行端口(/dev/ttyS1和/dev/ttyS2)。这两个端口都以19200波特率运行,并且一直处于活动状态。为此我用了pySerial。

这两个读取操作都需要连续并发地运行。我想知道是否应该使用线程库、线程库或多处理库。我之所以担心,是因为全局解释器锁无法为繁重的IO操作提供真正的线程能力。但是如果全局解释器锁不影响我,那么我将使用线程/线程模块。不过,如果是这样,我需要交叉编译python多处理库,因为这是在嵌入式系统上。

所以我的代码通常 thread1或process1=在读取行上执行一些字符串操作后读取ttyS1并写入缓冲区。 thread2或process2=在读取行上执行一些字符串操作后读取ttyS2并写入另一个缓冲区。 其他功能等 这些缓冲区被代码中的其他部分进一步利用。

python中的多处理也需要多个核心/cpu吗?

谢谢你的阅读!


Tags: 端口字符串代码iodev利用能力全局