我正在创建一个从串口读取并写入PipedOutputStream
的线程。这样我就可以用扫描仪等从端口读取。我想知道这样的代码是否会降低JVM的速度:
while (serialPort.isOpened()) {
while (serialPort.getInputBufferBytesCount() > 0) {
pipedOutputStream.write(serialPort.readBytes());
}
}
在第一个while循环中运行时,它会在某些事情进入之前非常快速地循环,我是否应该在那里添加一些延迟(例如10ms)因此它不会那么快或者以这种方式进行while循环而不是导致任何明显的滞后?
串口没有我可以读取的任何InputStreams
,这就是我必须制作这个帖子的原因。我正在使用https://code.google.com/p/java-simple-serial-connector/作为我的串行接口。
答案 0 :(得分:1)
查看此处的文档,它可能有助于您开发更好的基于通知的解决方案:https://en.wikibooks.org/wiki/Serial_Programming/Serial_Java#Event_Driven_Serial_Communication