static protected HashMap<String, String> secMapMulti = new HashMap<String, String>();
static protected HashMap<String, String> baMapMulti = new HashMap<String, String>();
static protected HashMap<String,PrintWriter> writeAndClientId = new HashMap<String,PrintWriter>();
static String client_id = "";
static PrintWriter pw_eq=null;
static String[] split_str_data;
static int data_length;
public static synchronized void serveAllWriters(String data) {
split_str_data = data.split(",");
data_length = data.indexOf('|');
for (Map.Entry<String, PrintWriter> entry : writeAndClientId.entrySet()) {
pw_eq = entry.getValue();
client_id = entry.getKey();
if (baMapMulti.containsKey(nse_eq_client_id + ":" + split_str_data[0])) {
pw_eq.println(data);
} else {
if (secMapMulti.containsKey(client_id + "-" + split_str_data[0])) {
data = data.substring(0, data_length + 1);
pw_eq.println(data);
}
}
}
}
有时两个HashMap中被比较,有时只能HashMap中的第一个值被比较,奇怪的事情是怎么回事,两个哈希映射包含需要在比较值特定条件的基础。在synchronized方法比较两个HashMap中面临的问题/功能