1. Classic example to use Thread pool
public class ThreadPoolOne {
public static void main(String[] args) {
// use a static Executors class create a fixed size thread pool
ExecutorService threadPool = Executors.newFixedThreadPool(3);
for (int i=0;i<10;i++){ //this way we give 10 tasks to a 3 running threads to do.
Runnable task = new Runnable(){
@Override
public void run() {
int i = new Random().nextInt();
System.out.println(Thread.currentThread().getName()+" is running id is "+ i);
}
};
//create 10 runnable for 10 thread
threadPool.execute(task);
}
//at last,we should shutdown thread pool
threadPool.shutdown();
}
}
Executors is a static class, we can use it to create a threadPool, and use the execute() passed by a runnable to start the thread, this doesn't have the return value of the thread. If we w