java中面对多线程安全问题,用什么样的Map

现有的项目中,一个公共查询方法,用来查询我们工单的主方法,这个方法应该说,只要用户登录到我们的系统,就会走这个方法,将用户自己的工单查询出来,

这样的话,这个方法就会经常被同时调用。

我们原来代码如下:

private Map<String, String> complexCloum = new HashMap<String, String>();

方法中用这个map拼接sql,导致用户登录到系统,就会停在主界面,主界面提示连接错误,主要原因是因为HashMap是非线程安全的,

修改之后的代码:

private Map<String, String> complexCloum = new ConcurrentHashMap<String, String>();

修改之后,问题得到解决,服务器CPU使用率明显降低。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章