How to make a Single Thread Pool via Java using JDK classes
The idea is to construct a queue of tasks, in terms of Threads, to get executed one after the other. The JDK itself has classes to do Thread Pools: java.util.concurrent.ExecutorService.
This is just one way of using it.
Try the following code,
Thread Pool Class
package gunith.evillab; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class SingleThreadPool { public static void main(String[] args) { ExecutorService xServ = Executors.newSingleThreadExecutor(); for(int i=0;i<4;i++){ xServ.submit(new Boogie(i)); } xServ.shutdown(); System.out.println("Sent all the Boogie's to dance"); } }
The (Dummy) Runnable Class
class Boogie implements Runnable{ int id; public Boogie(int id) { this.id = id; } @Override public void run() { for (int i=0;i<3;i++) { System.out.println(id + " does the boogie times x " + i); try { Thread.sleep(3*1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
Categories:
Java
Written on November 21, 2010