首页 > 代码库 > Java多线程编程-使用JDK1.6的线程池

Java多线程编程-使用JDK1.6的线程池

Java对多线程的支持还是比较给力的,JDK1.6里面有现成的API可用,一般的多线程应用足够了,

使用的时候注意最好加一层壳子,至少方便日志打印和后续扩展,以下是一个简单的启用的例子

1. 定义线程池变量

//线程池维护线程的最少数量: 2;//线程池维护线程的最大数量: 100;//线程池维护线程所允许的空闲时间: 2s;//线程池维护线程所允许的空闲时间的单位: TimeUnit.SECONDS;
//线程池所使用的缓冲队列,队列大小为5//线程池对拒绝任务的处理策略:AbortPolicy为抛出异常;CallerRunsPolicy为重试添加当前的任务,会自动重复调用execute()方法;
ThreadPoolExecutor threadPool = new ThreadPoolExecutor(2, 100, 2, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(5), new ThreadPoolExecutor.DiscardOldestPolicy()); 

// 在相应的时机启动多个线程

for(int i=0; i<threadnumber; i++){

 threadPool.execute(new ThreadPoolTask(param1,param2));

}

2. 线程池运行线程类,要implements Runnable, Serializable

public class ThreadPoolTask implements Runnable, Serializable { 
  
 private static final long serialVersionUID = 1L;

。。。。。

 

    public void run() {
     。。。。。
    }
 

}

Java多线程编程-使用JDK1.6的线程池