use*_*406 8 java multithreading hashmap thread-safety
我需要利用这个removeEldestEntry()方法LinkedHashMap.
我以线程安全的方式使用LinkedHashMap's和removeEldestEntry()方法最简单的方法是什么?
Kev*_*ede 11
您可以匿名扩展LinkedHashMap以更改其行为removeEldestEntry(...),然后将匿名类的实例包装在同步映射中.你没有提到你需要什么类型的参数,所以我<String, Integer>在这个例子中使用.
Map<String, Integer> map = Collections.synchronizedMap(new LinkedHashMap<String, Integer>() {
private static final long serialVersionUID = 12345L; // use something random or just suppress the warning
@Override
protected boolean removeEldestEntry(Entry<String, Integer> eldest) {
return size() > MAX_SIZE; // how many entries you want to keep
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3790 次 |
| 最近记录: |