noncancelabletask.java

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

JAVA
33
字号
package net.jcip.examples;import java.util.concurrent.*;/** * NoncancelableTask * <p/> * Noncancelable task that restores interruption before exit * * @author Brian Goetz and Tim Peierls */public class NoncancelableTask {    public Task getNextTask(BlockingQueue<Task> queue) {        boolean interrupted = false;        try {            while (true) {                try {                    return queue.take();                } catch (InterruptedException e) {                    interrupted = true;                    // fall through and retry                }            }        } finally {            if (interrupted)                Thread.currentThread().interrupt();        }    }    interface Task {    }}

⌨️ 快捷键说明

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