gpt4 book ai didi

Java - 对定期清除的本地值存储的多线程访问

转载 作者:行者123 更新时间:2023-12-03 12:56:34 25 4
gpt4 key购买 nike

我希望就如何最好地处理对值存储的多线程访问提供一些建议或建议。

我的本地值存储旨在保存当前正在使用的对象。如果该对象未在使用中,则将其从存储中移除。

一个值通过线程 1 被泵入我的商店,它进入商店的消息会被通知给听众,并存储该值。进入 thread1 的值要么是全新的值,要么是现有值的更新。

计时器用于定期从存储中删除当前未使用的任何值,因此该值的所有剩余部分是其由中介在本地保存的 ID。

现在,thread2 上的 Activity 元素可能会唤醒并尝试通过传递它知道的一组值 ID 来访问一组值。一些值将已经被存储(很好),而有些可能不会(悲伤)。那些尚未存储的值将从外部源中检索。

我的主要问题是尚未存储且当前正在查询的项目可能会在查询完成之前到达 thread1。

我想尝试避免在进行查询时锁定对商店的访问,因为这可能需要一些时间。

最佳答案

您似乎正在寻找某种缓存。您是否尝试调查现有的缓存实现,也许其中一些会这样做?

例如,Guava 缓存实现似乎涵盖了您的很多需求 - http://code.google.com/p/guava-libraries/wiki/CachesExplained .

关于Java - 对定期清除的本地值存储的多线程访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381822/

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