Defining a Thread in java using Callable and collecting in FutureTask

Example :

public class MainClass {
    public static void main(String[] args) {
        try {
            FutureTask<String> ft = new FutureTask<String>(new CallableDemo());
            Thread t = new Thread(ft);
            t.start();

            String result = ft.get();
            System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
class CallableDemo implements Callable<String>{
	@Override
	public String call() throws Exception {
		System.out.println(Thread.currentThread().getName());
        return "true";
	}
}

Leave a Comment