java 根据http传过来的参数判断
本文介绍了java 根据http传过来的参数判断的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
对方硬件是个门磁(有多个这样的设备) 调用我API通过http传送参数过来 开门为0 关门为1
现在要实现如果关门40分钟就发出警报,请问大家有什么思路吗?
我的思路是:
如果传过来的statu为0 开始计时(新建线程来计时)
如果计时的时间超过40分钟,发出警报。
直到传过来的statu为1 结束计时 (问题:如果多个线程 不知道如何结束上面的线程)
解决方案
起一个线程判断就可以了。
//记录上次关门时间戳,每次关门修改这个值
private static volatile long[] closeTime = new long[5];
static{
//初始化所有门
closeTime[0] = System.currentTimeMillis();
closeTime[1] = System.currentTimeMillis();
closeTime[2] = System.currentTimeMillis();
closeTime[3] = System.currentTimeMillis();
closeTime[4] = System.currentTimeMillis();
}
public static void main(String[] args) throws Exception {
new Thread(new Runnable() {
@Override
public void run() {
while(true){
for(int i = 0 ; i < 5 ; i ++){
if(System.currentTimeMillis() - closeTime[i] >= 1000*60*40){
//alarm ith door
}
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
这篇关于java 根据http传过来的参数判断的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文