因为map是存的键值对,转为set后,可以进行遍历,这样就可以将map中的所有键值对都取出来。
Set<WebSocket> keySet = map.keySet();
/**
* 获取WebSocket
* @param user
*/
public static WebSocket getWebSocketByUser(String user){
Set<WebSocket> keySet = userconnections.keySet();
synchronized (keySet) { //对象加锁,锁住的是这个对象,而不是代码。
for (WebSocket conn : keySet) {
String cuser = userconnections.get(conn);
if(cuser.equals(user)){
return conn;
}
}
}
return null;
}对象加锁,锁住的是这个对象,而不是代码。
原文:http://blog.51cto.com/jianboli/2073396