1. 首页
  2. 编程语言
  3. Java
  4. ConcurrentMap.putIfAbsent(key,value)用法实例

ConcurrentMap.putIfAbsent(key,value)用法实例

上传者: 2021-07-01 05:02:35上传 PDF文件 110.59 KB 热度 13次

本文研究的主要是业务上经常会遇到有这种场景,全局维护一个并发的ConcurrentMap, Map的每个Key对应一个对象,这个对象需要只创建一次。如果Map中该key对应的value不存在则创建,否则直接返回。我们先看一下代码:这段代码要做的事情是:。我们期望每次调用 getInstance 方法时要保证相同的 key 返回同一个 Local 对象引用。对上面方法进行改造:这段代码使用了 Map 的 concurrent 形式,并简单的使用了语句这里的错误出在忽视了 putIfAbsent 方法是有返回值的,并且返回值很重要。所以,使用 putIfAbsent 方法时切记要对返回值进行判断。总结以上就是本文关于ConcurrentMap.putIfAbsent用法实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

下载地址
用户评论