【发布时间】:2019-01-24 06:05:37
【问题描述】:
这是来自my previous question 的后续问题。
我正在尝试实现定义为NavigableMap<Timestamp, Event> 的NavigableMap。我需要这张地图对我来说就像一个缓存。我每 5 分钟刷新一次 NavigableMap。
一个线程更新这个NavigableMap,另一个从它读取,所以它需要是线程安全的。每当我有请求时,我都需要获取Events 的子集列表,其时间戳在给定的start 和end 时间内。
将NavigableMap 转换为此子集列表(例如ArrayList)的最有效方法是什么?这个接口的线程安全实现是什么?
显然NavigableMap 有一个子地图方法以及floor 和ceiling,但我没有看到任何东西可以转换为一个有开始和结束时间的列表。
【问题讨论】:
-
这是本地 ArrayList 吗?
-
本地是什么意思?!
-
我认为是的。请求线程需要生成一个本地数组列表并在本地使用它。
标签: java concurrency hashmap treemap concurrenthashmap