concurrenthashmap

    0热度

    3回答

    我想实现一个线程安全的队列映射。 我打算从空地图开始。如果该键不存在,我想用新的队列创建一个新的Map条目。如果密钥确实存在,我想添加到队列中。我的建议的实施情况如下: import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinked

    -2热度

    1回答

    ConcurrentHashMap chm= new ConcurrentHashMap(8,1,16); 现在根据上述配置,ConcurrentHashMap将把表分成16个段。现在每个片段都是一个单独的hasmap。我们将入口对象大小作为x字节。那么分配给每个分段的内存是多少?根据我的理解,只有8x字节应该分配给表格,那么它将如何分成16段。因为这里的并发级别是16,表的大小是8. 8x/

    0热度

    1回答

    我需要在缓存中的键值对中存储一些明智的值,例如: category1 = {(k1,v1),(k2,v2)} category1 = {(k3,v3) ,(k4,v4)} 它可以同时访问。 我看起来像分区并发HashMap,但不知道到底使用什么数据结构。 任何想法? 感谢

    1热度

    1回答

    我在Java中有一个大的map = ConcurrentHashMap(),而Key,Value是某种Object结构。假设该映射的密钥集合是 keySet。 现在我有一个计算过程如下。我的问题是如何通过不使用整个地图锁定来获得更好的性能。有没有像使用按键锁定或使用其他类型的数据结构的选项? 考虑到这是一个大的地图,使用每个键的锁定可能不是一个可接受的方法。 multiThread():

    3热度

    3回答

    在我最近的工作一个大的Java代码的基础上,我看到了下面的代码: public class MapHelper extends HashMap<String, Object>{ private static final long serialVersionUID = 1L; public MapHelper() { super(); } p

    1热度

    1回答

    我知道HashMap和SparseArray都不是线程安全的。如果我有一个中央数据存储库作为可由活动访问的HashMap,并且可能由AsyncTask访问,那么我是否必须担心这一点? 建议使用HashTable或更好的ConcurrentHashMap来保证安全?

    -1热度

    1回答

    我正在使用ConcurrentHashMap作为缓存数据库。每3分钟我从我的真实数据库中获取对象,并用新的数据更新ConcurrentHashMap值。我只有100个来自web的地图和用户的对象,只读ConcurrentHashMap对象不能插入或更新。让系统用户总数为4000 /秒,ConcurentHashMap仍然是一个好方法,或者我应该使用HSQLDB或任何其他内存中的缓存数据库进行更改。

    1热度

    2回答

    后使用GET()我有一个代码段是这样的: private final Map<String, Information> infoMap = new ConcurrentHashMap<String, Information>(); synchronized (infoMap) { for (final String nameAndVersion : infoMap.keyS

    14热度

    2回答

    在ConcurrentHashMap(put(),remove()等)上执行所有非retreival操作是否需要封装在synchronized(this)块中?我知道所有这些操作都是线程安全的,那么这样做有没有真正的好处/需要?唯一使用的操作是put()和remove()。 protected final Map<String, String> mapDataStore = new Concurr

    3热度

    2回答

    我有一个演员,我想在地图中存储我的可变状态。 客户可以发送Get(key:String)和Put(key:String,value:String)消息给这位演员。 我正在考虑以下选项。 不要在Actor的接收方法中使用futures。在这种情况下,如果我有大量的gets/puts,则可能会对延迟和吞吐量产生负面影响,因为所有操作都将按顺序执行。 使用java.util.concurrent.Con