为什么要将map转为set?
因为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
时间: 2024-11-02 04:29:42