Main Thread์์ ๊ฐ์ ๊บผ๋ผ๋๋ Callable์์ ๋ฐ์์จ Future&FutureTast์ ์๋ต๊ฐ์ ์ฃผ๊ฒ ๋ฉ๋๋ค.
Thead
public class CallableWithThead implements Callable<String> {
@Override
public String call() throws Exception {
return "I'm Callable";
}
}
public class Main {
public static void main(String[] args) {
FutureTask<String> futureTask = new FutureTask<String>(new CallableWithThead());
Thread thread = new Thread(futureTask);
String result = futureTask.get();
}
}
Executor
public class CallableWithExecutor implements Callable<String> {
@Override
public String call() throws Exception {
return "I'm Callable";
}
}
public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<String> future = executor.submit(new CallableWithExecutor());
String result = future.get();
}
}