我在写一个验证设备事件的python程序。线程同步的设计帮助
我连续从设备的串行端口读取一些数据。当我在设备的serail端口上写入内容时,设备会在串口上写入一个字符串,我必须阅读它。不断从串口读取部分是在一个单独的工作线程中,我逐行读取并写入线程。该设备连续写入一些数据,并且将事件描述写入到serail端口。
更具体地说,当我在设备上写东西时,它会在设备上生成一个事件。事件的描述被写回串行端口。这我必须读回来并验证事件是否发生。
现在当我在一个线程中逐行读取设备输出时,我写了一些东西并开始读取事件desc发生时,输出已经消失,接下来的一些其他输出行是正在阅读。我如何同步这个?
任何帮助我设计这部分?
你有什么小代码片段,你现在正在做什么?如果您不断从设备读取数据,那么应该没有办法“错过”一条线。 – jdi
另外,这个阅读和写作过程是否需要两个独立的线程是有原因的?这听起来像是一个单线程的请求 - 响应系统。它应该是异步的,在稍后的时间读者将验证发布的事件,并且作者可以继续前进? – jdi
代码段如下所示: 类SerialCom: __init __(个体,COMPORT): self.comport =相称 self.readSerialPortThread = ReadSearialPortThread(self.comport) DEF writeStringToSerialPort(): self.comport .write(somedata) –