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

📄 threaddeadlock.java

📁 java concurrency in practice 源码. JAVA并发设计
💻 JAVA
字号:
package net.jcip.examples;import java.util.concurrent.*;/** * ThreadDeadlock * <p/> * Task that deadlocks in a single-threaded Executor * * @author Brian Goetz and Tim Peierls */public class ThreadDeadlock {    ExecutorService exec = Executors.newSingleThreadExecutor();    public class LoadFileTask implements Callable<String> {        private final String fileName;        public LoadFileTask(String fileName) {            this.fileName = fileName;        }        public String call() throws Exception {            // Here's where we would actually read the file            return "";        }    }    public class RenderPageTask implements Callable<String> {        public String call() throws Exception {            Future<String> header, footer;            header = exec.submit(new LoadFileTask("header.html"));            footer = exec.submit(new LoadFileTask("footer.html"));            String page = renderBody();            // Will deadlock -- task waiting for result of subtask            return header.get() + page + footer.get();        }        private String renderBody() {            // Here's where we would actually render the page            return "";        }    }}

⌨️ 快捷键说明

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