import java.util.concurrent.Executor; public class ExecutorTest1_1 { public ExecutorTest1_1() { System.out.println("Initial Threads:"); ConcurrentUtils.listThread(); Executor executor = new ThreadPerTaskExecutor(); executor.execute(new RunnableTask()); System.out.println("Processing Threads:"); ConcurrentUtils.listThread(); try { Thread.sleep(5000L); } catch (InterruptedException ex) { } 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_1(); } }