1.写一个线程方法去判断状态值是否改变
| private void waitForDeviceStatus(IntByReference senor_code, IntByReference status_code, String targetHex) { |
| Thread statusThread = new Thread(() -> { |
| try { |
| |
| OwnershipMainSdk.LIB.HWX_GetDeviceStatus(senor_code, status_code); |
| String currentHex = handleResult(status_code.toString()); |
| |
| while (!currentHex.equals(targetHex)) { |
| Thread.sleep(1000); |
| OwnershipMainSdk.LIB.HWX_GetDeviceStatus(senor_code, status_code); |
| currentHex = handleResult(status_code.toString()); |
| } |
| } catch (InterruptedException e) { |
| throw new BusinessException("获取设备状态失败"); |
| } |
| }); |
| statusThread.start(); |
| |
| try { |
| statusThread.join(); |
| } catch (InterruptedException e) { |
| e.printStackTrace(); |
| } |
| } |
2.在需要时调用上述方法
| waitForDeviceStatus(senor_code, status_code, "0"); |
| log.info("获取到设备的状态0;"); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本