The Java Program: SingleExecutor.java

  1 import java.util.concurrent.*;
  2 
  3 final public class SingleExecutor {
  4    
  5    static class Task implements Runnable {
  6       private int maxcount;
  7       Task (int i) { this.maxcount=i; }
  8       public void run () {
  9          final Thread t = Thread.currentThread();
 10          for (int count=1; count<=maxcount; count++) {
 11             System.out.println (count + " " + t.getName());
 12          }
 13          System.out.println ("DONE! " + t.getName());
 14       }
 15    }
 16    public static void main (final String args[]) {
 17       final ExecutorService single = Executors.newSingleThreadExecutor();
 18       for (String a: args) {
 19          single.execute (new Task (Integer.parseInt (a)));
 20       }
 21       System.out.println ("Shutdown ...");
 22       single.shutdown();
 23       System.out.println ("End main.");
 24    }
 25 }