⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 factorizer.java

📁 java concurrency in practice 源码. JAVA并发设计
💻 JAVA
字号:
package net.jcip.examples;import java.math.BigInteger;import javax.servlet.*;import net.jcip.annotations.*;/** * Factorizer * <p/> * Factorizing servlet that caches results using Memoizer * * @author Brian Goetz and Tim Peierls */@ThreadSafepublic class Factorizer extends GenericServlet implements Servlet {    private final Computable<BigInteger, BigInteger[]> c =            new Computable<BigInteger, BigInteger[]>() {                public BigInteger[] compute(BigInteger arg) {                    return factor(arg);                }            };    private final Computable<BigInteger, BigInteger[]> cache            = new Memoizer<BigInteger, BigInteger[]>(c);    public void service(ServletRequest req,                        ServletResponse resp) {        try {            BigInteger i = extractFromRequest(req);            encodeIntoResponse(resp, cache.compute(i));        } catch (InterruptedException e) {            encodeError(resp, "factorization interrupted");        }    }    void encodeIntoResponse(ServletResponse resp, BigInteger[] factors) {    }    void encodeError(ServletResponse resp, String errorString) {    }    BigInteger extractFromRequest(ServletRequest req) {        return new BigInteger("7");    }    BigInteger[] factor(BigInteger i) {        // Doesn't really factor        return new BigInteger[]{i};    }}

⌨️ 快捷键说明

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