brokenprimeproducer.java

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

JAVA
35
字号
package net.jcip.examples;import java.math.BigInteger;import java.util.concurrent.*;/** * BrokenPrimeProducer * <p/> * Unreliable cancellation that can leave producers stuck in a blocking operation * * @author Brian Goetz and Tim Peierls */class BrokenPrimeProducer extends Thread {    private final BlockingQueue<BigInteger> queue;    private volatile boolean cancelled = false;    BrokenPrimeProducer(BlockingQueue<BigInteger> queue) {        this.queue = queue;    }    public void run() {        try {            BigInteger p = BigInteger.ONE;            while (!cancelled)                queue.put(p = p.nextProbablePrime());        } catch (InterruptedException consumed) {        }    }    public void cancel() {        cancelled = true;    }}

⌨️ 快捷键说明

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