标签:private 数据 使用 submit result ring call() mit task
继承 Thread
类或者实现 Runnable
接口,run()
方法返回类型是void
,即启动的线程任务无返回结果。
实现 Callable
接口
public class TaskWithResult implements Callable<String> {
private int id;
public TaskWithResult(int id) {
this.id = id;
}
public String call() {
return "result of TaskWithResult " + id;
}
}
ps:Callable<String>
中String
是线程任务返回结果的数据类型,与call()
方法返回类型对应。
执行线程任务
ExecutorService exec = Executors.newCachedThreadPool();
ArrayList<Future<String>> results = new ArrayList<Future<String>>();
for (int i = 0; i < 10; i++) {
// ExecutorService.submit()产生Future对象
results.add(exec.submit(new TaskWithResult(i)));
}
Future对象
isDone()
,判断任务是否执行完成。get()
,获取任务执行结果,任务未完成则阻塞。标签:private 数据 使用 submit result ring call() mit task
原文地址:https://www.cnblogs.com/wscy/p/9096509.html