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 }