| 
     
  
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); 
     
  } 
} 
 
            
          
   
    
    |