/**
* 线程饥饿死锁——在单线程Executor中发生死锁
*/
public class ThreaDeadLock {
//单线程Executor
ExecutorService exec = Executors.newSingleThreadExecutor();
class RenderPageTask implements Callable<String>{
@Override
public String call() throws Exception {
Future<String> header,footer;
header = exec.submit(new Callable<String>(){
@Override
public String call() throws Exception {
System.out.println("---渲染头部---");
Thread.sleep(200);
return "页头";
}
});
footer = exec.submit(new Callable<String>(){
@Override
public String call() throws Exception {
System.out.println("---渲染页脚---");
Thread.sleep(200);
return null;
}
});
String page = renderBody();
return header.get()+page+footer.get();
}
private String renderBody() throws InterruptedException {
System.out.println("---渲染
线程饥饿死锁
最新推荐文章于 2024-04-19 13:15:08 发布