
说明
1、死锁是指两个或两个以上的过程在实施过程中,由于竞争资源或相互通信而造成的堵塞现象,如果没有外力作用,就不能推进。
线程池死锁实例
2、解决办法:扩大线程池线程或任务结果不再相互依赖。
finalExecutorServiceexecutorService=
Executors.newSingleThreadExecutor();
Future<Long>f1=executorService.submit(newCallable<Long>(){
publicLongcall()throwsException{
System.out.println("startf1");
Thread.sleep(1000);//延时
Future<Long>f2=
executorService.submit(newCallable<Long>(){
publicLongcall()throwsException{
System.out.println("startf2");
return-1L;
}
});
System.out.println("result"+f2.get());
System.out.println("endf1");
return-1L;
}
});
以上就是java线程池死锁的产生及处理,希望对大家有所帮助。更多Java学习指路:Java基础
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















































暂无评论内容