【发布时间】:2014-12-26 13:27:19
【问题描述】:
我开始使用 executor 服务,我想知道当一个任务完成后我将如何调用一个函数。我见过这个函数 http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html#isDone--
但我不确定如何连接它以在我的代码中调用函数 endoftheroad()
这是我的代码
//import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
//import java.util.concurrent.Future;
//import java.util.concurrent.TimeUnit;
import java.util.*;
public class Pooler {
public static int add(int x, int y){
int c = x + y;
return c;
}
public static int endoftheroad(){
int the_end = 0;
return the_end;
}
public static void main(String args[]) {
ExecutorService service = Executors.newFixedThreadPool(10);
for (int i =0; i<100; i++){
Random randomno = new Random();
int value = randomno.nextInt();
service.submit(new Task(add(value,value)));
}
}
}
final class Task implements Runnable{
private int taskId;
public Task(int id){
this.taskId = id;
}
@Override
public void run() {
System.out.println("Task ID : " + this.taskId +" performed by "
+ Thread.currentThread().getName());
}
}
【问题讨论】:
标签: java multithreading executorservice