Java中设置每隔多少秒执行某个方法,超时报错
/**
* 判断指令是否执行完成
*
* @param isOverFlag 是否执行完成的标志
* @param isOverAddr 判断是否执行完成的地址
* @return
*/
public boolean isOver(boolean isOverFlag, String isOverAddr, PlcInterface plcInterface,long totalMillis) {
// 循环读取是否执行完成的状态
int count = 0;
while (!isOverFlag) {
try {
LOG.info("--循环执行第" + count + "次");
// 读取是否执行完成的状态
isOverFlag = plcInterface.readBit(isOverAddr);
// 5分钟还没有返回是否完成的状态,说明机器可能出了错误
if (isOverFlag) {
LOG.info("执行指令已完成");
break;
}
if (count * 500 > totalMillis) {
LOG.info("设备运行超时...");
break;
}
count++;
// 设置每500毫秒读一次
Thread.sleep(500);
} catch (Exception e) {
}
}
return isOverFlag;
}