memoizer2.java

来自「java concurrency in practice 源码. JAVA」· Java 代码 · 共 30 行

JAVA
30
字号
package net.jcip.examples;import java.util.*;import java.util.concurrent.*;/** * Memoizer2 * <p/> * Replacing HashMap with ConcurrentHashMap * * @author Brian Goetz and Tim Peierls */public class Memoizer2 <A, V> implements Computable<A, V> {    private final Map<A, V> cache = new ConcurrentHashMap<A, V>();    private final Computable<A, V> c;    public Memoizer2(Computable<A, V> c) {        this.c = c;    }    public V compute(A arg) throws InterruptedException {        V result = cache.get(arg);        if (result == null) {            result = c.compute(arg);            cache.put(arg, result);        }        return result;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?