python - pyserial - 可以从线程 a 写入串行端口,阻止从线程 b 读取?

标签 python serial-port pyserial

我试着用谷歌搜索这个,找不到答案,在这里搜索,找不到答案。有没有人研究过从线程 a 写入 Serial() 对象 (pyserial) 并阻止从线程 b 读取是否是线程安全的?

我知道如何使用线程同步原语和线程安全的数据结构,事实上,我当前的程序形式有一个专用于串口读/写的线程,我使用线程安全的数据结构来协调事件在应用程序中。

如果我可以从主线程写入串行端口(从不从中读取),并在第二个线程中使用阻塞读取从串行端口读取(从不写入),我的应用程序将受益匪浅。如果有人真的想让我了解为什么这会对应用程序有益,我可以添加我的理由。在我看来,只有一个 Serial() 实例,即使线程 B 处于对 Serial 对象的阻塞读取中,线程 A 也可以安全地对 Serial 对象使用写入方法。

有人知道Serial类是否可以这样使用吗?

编辑:我想到答案可能与平台有关。如果您有任何使用此类平台的经验,最好知道您在哪个平台上工作。

编辑:只有一个回复,但如果有人尝试过,请留下您的经验回复。

最佳答案

我已经用 pyserial 完成了这个。从一个线程读取和从另一个线程写入通常不会引起问题,因为实际上不存在任何类型的资源仲裁问题。串行端口是全双工的,因此读取和写入可以完全独立地同时发生。

关于python - pyserial - 可以从线程 a 写入串行端口,阻止从线程 b 读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796800/

相关文章:

python - Web应用程序用户名安全

python - 如何在 Dash-Plotly (Dash-Bootstrap-Components) 中折叠侧边栏

linux - 如何将一系列 AT 命令发送到 bash 中的串口?

python - Tkinter回调异常: matplotlib animation

python - PySerial : weird output with letter and quotation marks

python - 在 Python 中使用 __getattr__ 更新属性?

linux - 串口 : How to adjust serial port buffer size in kernel space

来自 Com 端口的 Java readLine

python - 在Windows XP上使用pyserial模块从串行端口(COM3)读取数据

python - Windows 气球小部件?