| 
 import java.io.IOException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
 public class MainClass {
 ExecutorService executor = Executors.newFixedThreadPool(3);
 
 public void start() throws IOException {
 int i=0;
 while (!executor.isShutdown())
 executor.submit(new MyThread(i++));
 }
 
 public void shutdown() throws InterruptedException {
 executor.shutdown();
 executor.awaitTermination(30, TimeUnit.SECONDS);
 executor.shutdownNow();
 }
 
 public static void main(String argv[]) throws Exception {
 new MainClass().start();
 }
 }
 
 class MyThread implements Runnable {
 private int i;
 MyThread(int i) {
 this.i = i;
 }
 
 public void run() {
 System.out.println("I am in thread:"+i);
 
 }
 }
 
 
 
 
 |