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中面臨的問題/功能