0 / 60 seg.

¿Cuál es el resultado de la ejecución del siguiente código?

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
public class FactorialCallable implements Callable<Integer> {
    private int n;
    public FactorialCallable(int n) {
        this.n = n;
    }
    public Integer call() throws Exception {
        if (n < 0) {
            throw new IllegalArgumentException("n must be non-negative");
        }
        int result = 1;
        for (int i = 1; i <= n; i++) {
            result *= i;
        }
        return result;
    }
    public static void main(String[] args) {
        FactorialCallable task = new FactorialCallable(5);
        FutureTask<Integer> future = new FutureTask<Integer>(task);
        new Thread(future).start();
        try {
            int result = future.get();
            System.out.println("5! = " + result);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}