我目前还没有任何代码,但我有一种情况,我将在无线传感器上实现Java应用程序。只能有一个 main 方法。
还有多个其他无线传感器可以连接到我的传感器。我的传感器需要根据其他传感器提供给我的信息进行计算。每个传感器可以选择是否要参与计算。每隔1秒,我的传感器就会进行一次计算。
基本上,我需要的是监听传入的传感器,为它们提供与之交互的线程,并从每个传感器中检索信息。
我的问题是,在我的应用程序中,我如何监听传入的传感器(阻止调用)并释放我的应用程序来执行其计算?
答案 0 :(得分:1)
从高层次来看,这就是您的应用程序将要做的事情
==主线程==
==处理程序主题==
==处理线程==
答案 1 :(得分:1)
您需要另一个接收所有通信线程信息的线程。您应该查看java.util.concurrent中的实用程序,例如BlockingQueue,它允许线程安全地将数据传递给另一个线程。
最重要的是,您应该阅读很多关于多线程的内容:这不是一个微不足道的主题。
答案 2 :(得分:0)
这将帮助您入门。根据需要添加错误/异常检查/处理。
public class Test {
static class WorkTask42 implements Runnable {
public void run() {
// background work
}
}
public static void main(String... args) throws Exception {
// repeat for each background task
WorkTask42 wt = new WorkTask42();
Thread a = new Thread(wt);
a.setDeamon(true);
a.start();
}
}