private static ConcurrentHashMap<Integer, Session> mapper = new ConcurrentHashMap<Integer, Session>();
public static void removeById(final int id){
Set<Integer> set = mapper.keySet();
logger.info("removeById id={}",id );
for(int key : set){
Session session = mapper.get(key);
logger.info("removeById id={},Mapper.Id={}",id,session.getId() );
if(session.getId() == id){
mapper.remove(key);
logger.info("removeById id={} success",id);
break;
}
}
}
jdk1.7 ConcurrentHashMap多线程并发偶现结果会导致部分id未被删除
最新推荐文章于 2023-07-03 20:34:07 发布