1、利用线程池创建线程
package cn.sinobest.jzpt.minidemo.multithreading;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/**
* @author : chenhaipeng
* @date : 2014/05/12 1:05
*/
public class ThreadPoolTest {
public static void main(String[] args) {
// ExecutorService threadPool = Executors.newFixedThreadPool(3);
// ExecutorService threadPool = Executors.newCachedThreadPool();
ExecutorService threadPool = Executors.newSingleThreadExecutor();
for(int i=1;i<=10;i++){
final int task = i;
threadPool.execute(new Runnable(){
@Override
public void run() {
for(int j=1;j<=10;j++){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " is looping of " + j + " for task of " + task);
}
}
});
}
System.out.println("all of 10 tasks have committed! ");
threadPool.shutdown();
// Executors.newScheduledThreadPool(3).scheduleAtFixedRate(
// new Runnable(){
// @Override
// public void run() {
// System.out.println("bombing!");
//
// }},
// 6,
// 2,
// TimeUnit.SECONDS);
}
}