Java tutorial
import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Main { ExecutorService threads; public Main(int poolSize) { threads = Executors.newFixedThreadPool(poolSize); } public void createThread(String name) { threads.execute(new MyThread(name)); // Create MyThread } public static void main(String[] args) { Thread t = Thread.currentThread(); Main t1 = new Main(3); t1.createThread("Child 1"); t1.createThread("Child 2"); for (int i = 0; i <= 5; i++) { try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } System.out.println("The cirrent Thread is " + t.getName() + " and thread ID is " + t.getId()); } } } class MyThread extends Thread { public MyThread(String name) { super(name); } @Override public void run() { for (int i = 0; i <= 5; i++) { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("The current Thread is " + super.getName() + " and thread ID is " + super.getId()); } } }