Моя проблема: у меня есть беспроводная сеть 802.15.4, подключенная к последовательному порту (с использованием обертки). Я могу отправить пакеты в сеть и слушать входящие пакеты. Как вы можете себе представить, это очень асинхронно.Лучший способ синхронизации асинхронной задачи
Здесь идет задача: я хочу отправить команды в сеть и дождаться ответа в одном вызове функции. Для примера: я хочу, чтобы получить температуру от узла с сетевым идентификатором 1338.
double getTemperature(int id) throws Exception { .... }
Есть ли лучший способ ждать ответного сообщения другим, чем делать все это «синхронизирован (объект) ждать (..) уведомлять (..) «материал?
С наилучшими пожеланиями, bigbohne
Может быть, добавить специи:
Это должно кончиться в webinterface, где пользователь может запросить эти команды (либо через AJAX или напрямую). Я также думал о кэшировании значений ответа в базе данных. Но для некоторых команд у вас MUSS есть прямой ответ на успех/сбой.
ОК. Этот вопрос указывает на то, что «есть ли какой-нибудь классный трюк java, который разрешает эту проблему?» – Bigbohne
Это тоже круто –