gpt4 book ai didi

java - 用于创建繁重对象的多线程 Java 缓存?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:59 24 4
gpt4 key购买 nike

我需要缓存一些创建时间相当长的对象,并且我需要恰好一次创建语义。应该可以同时为不同的 CacheKey 创建对象。我想我需要一些东西(在引擎盖下)做这样的事情:

ConcurrentHashMap<CacheKey, Future<HeavyObject>>

是否有我可以重复使用的任何现有开源实现?

最佳答案

你看过Guava了吗?的 MapMaker 类(class)?我认为它会做你需要的一切 - 尽管不是提供 Future ,你给类(class)一个Function<? super K, ? extends V>用于计算值。

回顾你的帖子,如果你真的需要在其中放置值而不是计算它们,它也不会起作用 - 但我会在这里留下建议以防计算 map 适合您。

关于java - 用于创建繁重对象的多线程 Java 缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2770965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com