Лучший способ синхронизировать асинхронную задачу

Моя проблема: У меня есть беспроводная сеть 802.15.4, подключенная к последовательному порту (с помощью оболочки). Я могу отправлять пакеты в сеть и прослушивать входящие пакеты. Как вы понимаете, это очень асинхронно.

А вот задача: я хочу отправить команды в сеть и дождаться ответа в одном вызове функции. Например: я хочу получить температуру от узла с сетевым идентификатором 1338.

double getTemperature(int id) throws Exception { .... }

Есть ли лучший способ дождаться ответного сообщения, кроме выполнения всего этого "синхронизированного (объекта) wait (..) notify (. .) "вещи?

С уважением, bigbohne

Может быть, чтобы добавить немного специй:

Все это должно заканчиваться веб-интерфейсом, где пользователь может запрашивать эти команды (либо через ajax, либо напрямую). Я также подумал о кешировании значений ответа в базе данных. Но для некоторых команд у вас MUSS есть прямой ответ успех / неудача

12
задан Bigbohne 4 October 2010 в 13:19
поделиться