package graph;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
public class FutureTaskDemo {
// 创建一个执行任务的服务
static ExecutorService executorTask = Executors.newFixedThreadPool(3);
static ExecutorService executorTask1 = Executors.newFixedThreadPool(3);
public static void main(String[] args) {
Callable<String> task = new Callable<String>() {
public String call() {
System.out.println("SaveOperation");
return "success";
}
};
Callable<String> task1 = new Callable<String>() {
public String call() {
System.out.println("SelectOperation");
return "failure";
}
};
FutureTask<String> ft2 = new FutureTask<String>(task);
FutureTask<String> ft3 = new FutureTask<String>(task1);
try {
executorTask.submit(ft2);
executorTask1.submit(ft3);
}
}
try {
if(executorTask.isShutdown() == false){
executorTask.shutdown();
}
if(executorTask1.isShutdown() == false){
executorTask1.shutdown();
}
} catch (Exception e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println(end - begin);
}
}
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
public class FutureTaskDemo {
// 创建一个执行任务的服务
static ExecutorService executorTask = Executors.newFixedThreadPool(3);
static ExecutorService executorTask1 = Executors.newFixedThreadPool(3);
public static void main(String[] args) {
long begin = System.currentTimeMillis();
Callable<String> task = new Callable<String>() {
public String call() {
System.out.println("SaveOperation");
return "success";
}
};
Callable<String> task1 = new Callable<String>() {
public String call() {
System.out.println("SelectOperation");
return "failure";
}
};
FutureTask<String> ft2 = new FutureTask<String>(task);
FutureTask<String> ft3 = new FutureTask<String>(task1);
try {
executorTask.submit(ft2);
executorTask1.submit(ft3);
executorTask.get();
executorTask1.get();
} catch (Exception e) {}
}
try {
if(executorTask.isShutdown() == false){
executorTask.shutdown();
}
if(executorTask1.isShutdown() == false){
executorTask1.shutdown();
}
} catch (Exception e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println(end - begin);
}
}