我试着用谷歌搜索这个,找不到答案,在这里搜索,找不到答案。有没有人研究过从线程 a 写入 Serial() 对象 (pyserial) 并阻止从线程 b 读取是否是线程安全的?
我知道如何使用线程同步原语和线程安全的数据结构,事实上,我当前的程序形式有一个专用于串口读/写的线程,我使用线程安全的数据结构来协调事件在应用程序中。
如果我可以从主线程写入串行端口(从不从中读取),并在第二个线程中使用阻塞读取从串行端口读取(从不写入),我的应用程序将受益匪浅。如果有人真的想让我了解为什么这会对应用程序有益,我可以添加我的理由。在我看来,只有一个 Serial() 实例,即使线程 B 处于对 Serial 对象的阻塞读取中,线程 A 也可以安全地对 Serial 对象使用写入方法。
有人知道Serial类是否可以这样使用吗?
编辑:我想到答案可能与平台有关。如果您有任何使用此类平台的经验,最好知道您在哪个平台上工作。
编辑:只有一个回复,但如果有人尝试过,请留下您的经验回复。
最佳答案
我已经用 pyserial 完成了这个。从一个线程读取和从另一个线程写入通常不会引起问题,因为实际上不存在任何类型的资源仲裁问题。串行端口是全双工的,因此读取和写入可以完全独立地同时发生。
关于python - pyserial - 可以从线程 a 写入串行端口,阻止从线程 b 读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8796800/