import java.util.concurrent.Executor; public class ExecutorTest1 { public ExecutorTest1() { System.out.println("Initial Threads:"); ConcurrentUtils.listThread(); Executor executor = new DirectExecutor(); System.out.println("Processing Threads:"); ConcurrentUtils.listThread(); executor.execute(new RunnableTask()); System.out.println("RuunableTask has Done."); System.out.println("Terminating Threads:"); ConcurrentUtils.listThread(); } class RunnableTask implements Runnable { public void run() { try { Thread.sleep(3000L); } catch (InterruptedException ex) { System.out.println("RunnableTask is Canceled"); return; } System.out.println("RunnableTask is Done."); } } public static void main(String[] args) { new ExecutorTest1(); } }