Vấn đề của tôi: Tôi có mạng không dây 802.15.4 được kết nối với cổng nối tiếp (sử dụng trình bao bọc). Tôi có thể gửi các gói vào mạng và lắng nghe các gói đến. Như bạn có thể tưởng tượng điều này là không đồng bộ cao.Cách tốt nhất để đồng bộ hóa tác vụ không đồng bộ
Ở đây có nhiệm vụ: Tôi muốn gửi lệnh đến mạng và chờ phản hồi trong một cuộc gọi chức năng. Ví dụ: Tôi muốn nhận được nhiệt độ từ Node với ID mạng 1338.
double getTemperature(int id) throws Exception { .... }
Có cách nào tốt hơn chờ đợi cho một tin nhắn trả lời khác hơn là làm tất cả điều này "synchonized (object) chờ đợi (..) thông báo (..) "công cụ?
Trân trọng, bigbohne
Có lẽ thêm một số gia vị:
này nên tất cả kết thúc trong một webinterface nơi người dùng có thể yêu cầu các lệnh (hoặc thông qua ajax hoặc trực tiếp). Tôi cũng đã nghĩ về việc đệm các giá trị phản hồi trong cơ sở dữ liệu. Nhưng đối với một số lệnh, bạn NHẠC có câu trả lời trực tiếp về thành công/thất bại
OK. Câu hỏi này điểm nhiều hơn theo hướng "có một số mẹo java mát mẻ giải quyết vấn đề này?" – Bigbohne
Cái này cũng mát mẻ –