java线程系列---java5中的线程池

来源:互联网 发布:厦门雅迅网络 编辑:程序博客网 时间:2024/06/09 12:57
public class ThreadPoolsTest {


public static void main(String[] args) {
//ExecutorService threadpools = Executors.newFixedThreadPool(3);//固定线程池
//ExecutorService threadpools = Executors.newCachedThreadPool();//缓冲线程池,来多少就开多少线程
ExecutorService threadpools = Executors.newSingleThreadExecutor();//单个线程池,死掉了就重启一个线程
for(int i=0;i<10;i++){
final int task = i;
threadpools.execute(new Runnable(){
public void run(){
for(int j=0;j<10;j++){
System.out.println(Thread.currentThread().getName()+"is from pools" +task);
}
}
});
}
threadpools.shutdown();//停掉线程池

//定时器,隔10s后执行
Executors.newScheduledThreadPool(3).schedule(new Runnable(){
public void run(){
System.out.println("-----");
}
}, 10, TimeUnit.SECONDS);
//定时器,隔10s后执行,并每2s执行一次
Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable(){
public void run(){
System.out.println("-----");
}
}, 10,2, TimeUnit.SECONDS);

}


}