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() {
。。。。。
}
}
使用的时候注意最好加一层壳子,至少方便日志打印和后续扩展,以下是一个简单的启用的例子
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笔记--使用线程池优化多线程编程
- Java多线程编程-线程池的使用
- jdk1.4 构建 java多线程,并发设计框架 使用列子(五)
- java.util.concurrent 多线程框架---线程池编程(一)
- java jdk1.6内置支持的webservice使用示例
- 使用原生JAVA创建WebService(基于JDK 1.6)
- C# 多线程编程之线程池的使用 (ThreadPool)
- jdk1.4 构建 java多线程,并发设计框架 使用列子(六)
- java.util.concurrent 多线程框架---线程池编程(三)
- java jdk1.6内置支持的webservice使用示例
- java中如何使用jdk1.5和jdk1.6进行项目打包
- Java:多线程,线程池,使用CompletionService通过Future来处理Callable的返回结果
- JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
- java.util.concurrent 多线程框架---线程池编程(四)
- 小demo, java swing窗口编程(JDK 1.6)
- jdk1.4 构建 java多线程,并发设计框架 使用列子(一)
- JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
- Java 多线程编程之三:synchronized 关键字的使用
- java.util.concurrent 多线程框架---线程池编程(三)
- Java多线程编程-使用线程的缺点