Java tutorial
//package com.java2s; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; public class Main { public static ExecutorService newExecutor(final String name, int num) { return Executors.newFixedThreadPool(num, new ThreadFactory() { private int i = 0; @Override public Thread newThread(Runnable r) { return new Thread(r, name + "_" + String.valueOf(i++)); } }); } }