import gfc.concurrent.GFCTask;
import gfc.concurrent.GFCTaskPool;
public class ConcurrentExample {
public static void main(String[] args) {
GFCTaskPool taskPool = new GFCTaskPool();
for (int i = 0; i < 10; i++) {
taskPool.submit(new MyTask(i));
}
taskPool.awaitTermination();
for (int i = 0; i < 10; i++) {
MyTask task = (MyTask) taskPool.getResult(i);
System.out.println("Task " + i + " result: " + task.getResult());
}
}
static class MyTask extends GFCTask {
private int taskId;
private String result;
public MyTask(int taskId) {
this.taskId = taskId;
}
@Override
public void run() {
result = String.valueOf(taskId);
}
public String getResult() {
return result;
}
}
}