张孝祥线程池的概念和Executors类的应用(学习笔记)
2014-03-29 22:34
411 查看
package cn.javaious.concurrence; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; 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() { // TODO Auto-generated method stub for(int j=1;j<10;j++) { try { Thread.sleep(20); } 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.shutdownNow(); 关闭线程池 //用线程池启动定时器 Executors.newScheduledThreadPool(3).scheduleAtFixedRate(new Runnable() { @Override public void run() { // TODO Auto-generated method stub System.out.println("boming!"); } }, 6,2, TimeUnit.SECONDS); //6秒后boming,以后每隔2秒boming } }
相关文章推荐
- Mootools 1.2教程 定时器和哈希简介
- JavaScript定时器详解及实例
- libevent库的使用--定时器的使用实例
- MySQL定时器EVENT学习笔记
- linux使用select实现精确定时器详解
- c#定时器和global实现自动job示例
- js定时器的使用(实例讲解)
- c#定时器使用示例详解
- JS定时器实例详细分析
- javascript + jquery实现定时修改文章标题
- 51单片机的中断整理
- ARM9 S3C2440 定时器中断
- java中定时器类的使用
- Spring中Quartz的配置 定时器
- swt定时器的实现 .
- js 定时器setTimeout无法调用局部变量的解决办法
- MFC定时器的设计
- STM32学习笔记(5):通用定时器PWM输出
- STM32学习笔记(4):通用定时器基本定时功能
- STM32学习笔记(3):系统时钟和SysTick定时器