创建线程池

来源:互联网 发布:淘宝美工每天工作任务 编辑:程序博客网 时间:2024/04/19 17:24
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;


public class ThreadPoolTest {


/**
* @param args
*/
//创建线程池
public static void main(String[] args) {
//固定的线程池
ExecutorService threadpool = Executors.newFixedThreadPool(3);
//缓存的线程池
//ExecutorService threadpool = Executors.newCachedThreadPool();
//单一线程池
//ExecutorService threadpool = Executors.newSingleThreadScheduledExecutor();
for(int i=0; i< 10; i++){
final int task = i;
threadpool.execute(new Runnable(){
@Override
public void run() {
for(int j=0; j< 10; j++){
try {
Thread.sleep(10);
} 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 had committed!");
//任务结束,线程池结束
//threadpool.shutdown();
//不等线程结束,线程池就结束
//threadpool.shutdownNow();

//线程定时器
//schedule指定一个隔多少时间后炸
//scheduleAtFixedRate相隔多少时间后,炸,然后每隔多少时间炸;
Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable(){


@Override
public void run() {
System.out.println("bombing!");
}
}, 6,2, TimeUnit.SECONDS);
}


}
0 0
原创粉丝点击