今天在读程序源码,源码中有一段这样的程序:
private final ExecutorService executorService = Executors
.newSingleThreadExecutor();
final Future<?> future = executorService.submit(new Runnable() {
......
});
处于好奇心查找了一下,大致意思为:
使用线程时,如果用了Thread,Runnable接口,那么无法获取到线程返回值,使用Feature,可以通过get方法获取线程的返回值,并且get()方式是阻塞式的,等到获取到执行结果才会把执行权交给this线程 。
涉及到的内容有:
ExecutorService
Executors
Feature
学习资料:
1、java Future用法和意义一句话击破
2、Java并发编程:Callable、Future和FutureTask
3、Java并发编程:线程池的使用
4、Java:使用Executors创建和管理线程