tpe = new ThreadPoolExecutor( 1, 1, 50000L, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
FutureTask task = new FutureTask(r, null); tpe.execute(task); task.get();
tpe.execute(r);
tpe.shutdown();