Java examples for Thread:ExecutorService
Use ExecutorService and thread pool to handle Callable thread
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.FutureTask; public class FutureTaskTest { //from w w w . j ava 2 s . c o m private void testFutureTaskInAnotherThread() { System.out.println("FutureTaskTest.testFutureTask"); ExecutorService executor = Executors.newCachedThreadPool(); Future<String> result = executor.submit(new Callable<String>() { @Override public String call() throws Exception { Thread.currentThread().sleep(2000l); return "done result"; } }); try { System.out.println(result.get()); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } } public static void main(String[] args) { FutureTaskTest test = new FutureTaskTest(); test.testFutureTaskInAnotherThread(); } }