您的位置:首页 > 编程语言 > Java开发

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

2015-01-21 10:27 501 查看
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() {

。。。。。

}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: