实现类
@Override
public boolean stopNetData(NetworkSystem networkSystem) {
String mqthread = networkSystem.getMqthread();
Thread s = findThread(Long.parseLong(mqthread));
if (s!=null){
MqttClient mqclient = (MqttClient)CacheUtil.getCache(String.valueOf(s.getId()));
if (mqclient!=null){
try {
mqclient.disconnect();
mqclient.close();
CacheUtil.rmCache(String.valueOf(s.getId()));
} catch (MqttException e) {
e.printStackTrace();
}
}
try {
s.interrupt();
s.interrupt();
System.out.println("停止线程正确处理");
networkSystem.setMqstatus(2);
this.updateAllColumnById(networkSystem);
}catch (Exception e){
System.out.println("停止异常处理");
}
return true;
}else{
System.out.println("查询无线程");
return true;
}
}
线程缓存工具类
public class CacheUtil {
public static final HashMap<String, Object> cacheMap = new HashMap<String, Object>();
public static Object getCache(String keyValue) {
Object value = null;
value = cacheMap.get(keyValue);
if (value == null) {
return null;
}
return value;
}
public static boolean putCache(String keyValue, Object ThreadName) {
Object put = cacheMap.put(keyValue, ThreadName);
if (put != null) {
return true;
}
return false;
}
public static boolean rmCache(String keyValue) {
Object remove = cacheMap.remove(keyValue);
if (remove != null) {
return true;
}
return false;
}
}