Online Java Compiler By
JavaTpoint.com
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; import java.lang.Thread; import java.util.logging.Level; import java.util.logging.Logger; public class ThreadPoolExecutorisTerminatingExample2 { public static void main(String[] args) { Work36 task1 = new Work36("t1"); System.out.println("Starting threads"); ThreadPoolExecutor tExecutor = (ThreadPoolExecutor) Executors.newCachedThreadPool(); System.out.println(" Maximum pool size: "+ tExecutor.getMaximumPoolSize()); System.out.println("get Task count before:"+ tExecutor.getTaskCount()); tExecutor.submit(task1); tExecutor.execute(task1); // start task1 System.out.println("get Task count after:"+ tExecutor.getTaskCount()); tExecutor.shutdown(); // shutdown worker threads System.out.println(" Is Executor is Terminated :"+ tExecutor.isTerminating()); System.out.println("Threads started, main ends\n"); } } class Work36 implements Runnable { private final String threadName; public Work36(String threadName) { this.threadName = threadName; } @Override public void run() { for(int i=4 ; i<=9;i++) { if(i==5) { System.out.println("i=" +i); } } } }
Output