package com.dev.btse.data;
|
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.battmonitor.base.Com;
|
import com.battmonitor.sql.MysqlConnPool;
|
|
public class TmpSensor_TestDataThread extends Thread{
|
private MysqlConnPool pool;
|
|
public static int reacord_interval = 7; //Êý¾Ý´æ´¢¼ä¸ô
|
|
private static Map<Integer, TmpSensor_SaveDataThread> myThreads = new HashMap<>();
|
|
public TmpSensor_TestDataThread(MysqlConnPool conn_pool) {
|
this.pool = conn_pool;
|
}
|
|
@Override
|
public void run() {
|
System.out.println("TmpSensor_TestDataThread start at "+Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
TmpSensor_SQL.createHisDataBase(pool);
|
|
try {
|
while(true) {
|
List<TmpSensor_inf> tmpinfs = TmpSensor_SQL.queryAllTmpSensor(this.pool); //²éѯËùÓд«¸ÐÆ÷É豸
|
|
|
if(tmpinfs.size() > 0) {
|
for(int i =0;i<tmpinfs.size();i++) {
|
TmpSensor_inf inf = tmpinfs.get(i);
|
|
TmpSensor_SaveDataThread thread = myThreads.get(inf.getSensor_dev_id());
|
if(thread == null || (!thread.isRunning)) {
|
|
System.out.println(inf.getSensor_dev_id() + "ÀúÊ·Êý¾Ý¼Ç¼Ïß³ÌÆô¶¯ ¡£¡£¡£¡£¡£");
|
thread = new TmpSensor_SaveDataThread(inf, pool);
|
myThreads.put(inf.getSensor_dev_id(), thread);
|
thread.start();
|
|
}
|
}
|
}
|
try {
|
Thread.sleep(10*60*1000);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* ´ÓmapÖÐÒÆ³ýÖ¸¶¨µÄ¶ÔÏó
|
* @param sensor_dev_id
|
*/
|
public static void removeThreadFromMap(int sensor_dev_id) {
|
synchronized(myThreads) {
|
myThreads.remove(sensor_dev_id);
|
}
|
}
|
}
|
|