线程返回值Future reasult = ExecutorService.submit(Callable task) 得到的结果 result--futureTask 的原理刨析!

1.明确java中线程最后执行的还是runnable!!!–从顶级接口Executor中方法execute(Runnable)看出!

**传入提交是 callable 但是底层是转为runnable的子类FutureTask(还是runnable)的!**

2.只是这个futureTask内部维护了很多属性字段如:callable字段,outcome线程结果等,也提供 fure.get()取得outcome结果

线程返回值Future reasult = ExecutorService.submit(Callable task) 得到的结果 result--futureTask 的原理刨析!_第1张图片线程返回值Future reasult = ExecutorService.submit(Callable task) 得到的结果 result--futureTask 的原理刨析!_第2张图片
如标题想要获取线程返回值,

你可能感兴趣的:(java)