首页 > 解决方案 > Pi4J 事件监听器独立应用程序

问题描述

嗨,我想构建一个应用程序来监听 agpio pin上的状态变化raspberry pi。我如何创建一个永远不会终止但除了听什么都不做的java应用程序。聆听由handleGpioPinDigitalStateChangeEvent()from完成https://pi4j.com/1.2/usage.html

现在我while(true)在主程序中使用了一个空循环。我想更换它以提高性能,因为它运行在较旧的树莓派上。

感谢你们!

标签: javaloopsraspberry-pievent-listenerpi4j

解决方案


一种选择可能是,您可以在 while 内使用扫描仪获取用户输入,而不是无限期运行一个空的 while 循环,如下所示,

Scanner scanner = new Scanner (System.in);
boolean run = true;
while(run) {  
String userIP = scanner.next();
if(userIP.equals("exit"))
  run = false;
}

上面的 cide 不会无限期地运行循环(这可能会影响性能)而是运行并等待控制台中的用户输入。我没有进行任何性能比较,但从逻辑上讲应该比无限循环更好。


推荐阅读