У моей Java-программы возникают проблемы с корректной связью через один последовательный порт. На самом деле на компьютере два последовательных порта и программа управляет двумя потоками. Каждый поток использует один отдельный последовательный порт. У одного потока возникли проблемы с отправкой через порт. Байты отправляются не после использования OutputStream.write()
, а после использования метода java.io.OutputStream.flush()
. И поток "зависает" от 5 до 10 минут на методе flush()
. Другой поток работает так же, но не имеет абсолютно никаких проблем. Экземпляр outputstream
происходит от gnu.io.CommPort.getOutputStream()
.
Кто-нибудь знает, почему поток не отправляет байты сразу, а только после того, как он застрял на 5 минут в методе flush()
, и что мне делать по-другому?