我正在使用 ServletContextListener 创建一个新线程。
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.util.concurrent.*;
public class Port implements ServletContextListener {
private ExecutorService executor;
public void contextDestroyed(ServletContextEvent event) {
executor.shutdown();
}
public void contextInitialized(ServletContextEvent event) {
// start task
executor = Executors.newSingleThreadExecutor();
executor.submit(new Task()); //task should implement Runnable!
}
}
在这个线程中,我正在从串行端口(SerialPortEventListener)读取数据。task.class 应该在服务器处于活动状态的整个期间从串行端口读取信息。我把它扔到了一个线程中,因为只能有一个从串行端口读取的实例;然后应将数据共享给所有客户端。
现在我想访问这个线程从串口读取的数据。
这可以做到吗?如果是,那怎么办?