java - Pi4J 事件监听器独立应用程序
问题描述
嗨,我想构建一个应用程序来监听 agpio pin
上的状态变化raspberry pi
。我如何创建一个永远不会终止但除了听什么都不做的java应用程序。聆听由handleGpioPinDigitalStateChangeEvent()
from完成https://pi4j.com/1.2/usage.html
现在我while(true)
在主程序中使用了一个空循环。我想更换它以提高性能,因为它运行在较旧的树莓派上。
感谢你们!
解决方案
一种选择可能是,您可以在 while 内使用扫描仪获取用户输入,而不是无限期运行一个空的 while 循环,如下所示,
Scanner scanner = new Scanner (System.in);
boolean run = true;
while(run) {
String userIP = scanner.next();
if(userIP.equals("exit"))
run = false;
}
上面的 cide 不会无限期地运行循环(这可能会影响性能)而是运行并等待控制台中的用户输入。我没有进行任何性能比较,但从逻辑上讲应该比无限循环更好。
推荐阅读
- javascript - Javascript 类 Getter Setter
- sql-server - SQL Server:将唯一标识符更改为字符串
- git - 合并 Bitbucket 中的两个分支
- c++ - 嗨,我的名字是亚当莱特,我该如何使用这个
- jquery - 无法使用 jquery post 访问 Modern Warfare API
- histogram - Plotly:连续直方图颜色
- r - R Shiny:在另一个(相对较长的)计算完成之前更新输出
- laravel - Laravel - 有很多关系在 foreach 循环中不起作用
- javascript - Three.js 不拉伸网格纹理(图像) - 使其覆盖其容器
- javascript - 为每个形状应用样式