Java serialport fecha blocos
Eu me comunico com uma unidade para controlar uma antena de satélite por meio de uma conexão seria
Abrir uma conexão com o dispositivo serial:
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;
portIdentifier = CommPortIdentifier.getPortIdentifier(device);
serialPort = (SerialPort) portIdentifier.open(name,
serialPort.setSerialPortParams(baudrate, databits, stopbits, parity);
serialPort.setFlowControlMode(flowMode);
bufferedReader = new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
outputStream = serialPort.getOutputStream();
Se a unidade ficar indisponível, tenho que limpar o fluxo antes de poder enviar novos comandos, uma vez que o dispositivo esteja novamente ativo. Mas esse método claro no fluxo de entrada / saída é bloqueado se o dispositivo estiver inativo. Também fechando os fluxos ou fechando os blocos SerialDevice.
Existe uma maneira de fechar / limpar esses fluxos ou o SerialDevice sem bloquea
bufferedRead.close(); // blocks until device is up again
outputStream.close(); // blocks until device is up again
serialPort.close(); // blocks until device is up again