get和set的线程安全数据结构

时间:2016-12-19 13:54:00

标签: java multithreading thread-safety

我发现自己需要一个只需要能够输入对象检索删除它们的数据结构(我没有对它的大小等感兴趣..)。 此数据结构将从多个线程访问,同时添加和获取特定对象。 目前我在我的程序中使用并发HashMap:

key = object.hashCode()
data = object

问题:我想知道这是最好的方法吗?

注意

  • 两次添加任何对象

  • 我使用的唯一hashMap方法是 get put remove

非常感谢!

2 个答案:

答案 0 :(得分:0)

查看java.util.concurrent.atomic包。

  

一个小型工具包,支持对单个变量进行无锁线程安全编程。

AtomicReference是一种解决方案。

参考相关的SE问题:

When to use AtomicReference in Java?

答案 1 :(得分:-1)

您可以使用HashTable什么是HashMap的线程安全版本。 https://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html