org.linkedin.util-core/src/main/java/org/linkedin/util/concurrent/ThreadPerTaskExecutor.java
public static <V> Future<V> execute(Callable<V> callable)
  {
    FutureTask<V> futureTask = new FutureTask<V>(callable);

    new Thread(futureTask).start();

    return futureTask;
  }
public static <V> Future<V> execute(Callable<V> callable)
  {
    FutureTask<V> futureTask = new FutureTask<V>(callable);

    new Thread(futureTask).start();

    return futureTask;
  }
public static < V > Future < V > execute ( Callable < V > callable ) { FutureTask < V > futureTask = new FutureTask < V > ( callable ) ; new Thread ( futureTask ) . start ( ) ; return futureTask ; }
Executes the callable in a separate thread and return the future to get the result. Note
that this implementation is not efficient and should be used very carefully.

@param callable
@return the future to get the result.
Executes the callable in a separate thread and return the future to get the result . Note that this implementation is not efficient and should be used very carefully .