Java RXTX中的同步方法

Java RXTX中的同步方法,java,rxtx,Java,Rxtx,情况: 我正试图使来自SerialPort的传入数据对我的目的有用。在一个类Processor.java中,我实现了几个方法——其中一个(serialEvent)实现了gnu.io.SerialPortEventListener。它将从inputStream读取的信息存储在一个字节数组缓冲区中。还有一种方法将数据写入outputStream 问题: 我想实现一个方法(在同一个类中),该方法将根据从inputStream读取的消息向outputStream写入内容 伪代码: @Override p

情况: 我正试图使来自SerialPort的传入数据对我的目的有用。在一个类Processor.java中,我实现了几个方法——其中一个(serialEvent)实现了gnu.io.SerialPortEventListener。它将从inputStream读取的信息存储在一个字节数组缓冲区中。还有一种方法将数据写入outputStream

问题: 我想实现一个方法(在同一个类中),该方法将根据从inputStream读取的消息向outputStream写入内容

伪代码:

@Override
public void serialEvent(SerialPortEvent event) {
// get data
}

public void writeData(String dataToWrite) {
// write data
}

public void respond() {
// write data
// wait for appropriate response (read data)
// write data
// ...
}

我该怎么做呢?

唯一想到的是一个后台线程,它等待输入缓冲区已满的条件来处理接收到的消息并对其作出响应

如果您使用固定长度的数据包或带有开始-停止标记的数据包进行通信,则应创建一个线程,该线程将监视串行端口,缓冲接收到的数据,并在满足“数据包/消息完成”条件后向注册的侦听器触发事件(如果可能,在另一个线程中)。然后,侦听器将处理消息并响应(在自己的线程中)