说明
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
暂无评论内容