没有合适的资源?快使用搜索试试~ 我知道了~
Java 线程池ExecutorService详解及实例代码
6 下载量 22 浏览量
2020-09-01
02:14:23
上传
评论
收藏 75KB PDF 举报
温馨提示
试读
4页
主要介绍了Java 线程池ExecutorService详解及实例代码的相关资料,线程池减少在创建和销毁线程上所花的时间以及系统资源的开销.如果不使用线程池,有可能造成系统创建大量线程而导致消耗系统内存以及”过度切换“
资源推荐
资源详情
资源评论
Java 线程池线程池ExecutorService详解及实例代码详解及实例代码
主要介绍了Java 线程池ExecutorService详解及实例代码的相关资料,线程池减少在创建和销毁线程上所花的时
间以及系统资源的开销.如果不使用线程池,有可能造成系统创建大量线程而导致消耗系统内存以及”过度切换“
Java 线程池线程池ExecutorService
1.线程池线程池
1.1什么情况下使用线程池
1. 单个任务处理的时间比较短.
2. 将需处理的任务的数量大.
1.2使用线程池的好处
1. 减少在创建和销毁线程上所花的时间以及系统资源的开销.
2. 如果不使用线程池,有可能造成系统创建大量线程而导致消耗系统内存以及”过度切换”;
2.ExecutorService和和Executors
2.1简介
ExecutorService是一个接口,继承了Executor,
public interface ExecutorService extend Executor{
}
Executor也是一个接口,该接口只包含一个方法:
public interface Executor {
void execute(Runnable command);
}
Java里面的线程池的顶级接口是Excutor,但是严格意义上来说>>Exector并不是一个线程池,而只是一个执行线程的工具,真正
的线程>池接口是ExecutorService.
3.Executors
它是一个静态工厂类,它能生产不同类型的线程池,部分源码如下:
public class Executors {
//newFixedThreadPool
public static ExecutorService newFixedThreadPool(int nThreads) {
return new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS,new LinkedBlockingQueue<Runnable>());
}
//newCacheThreadPool
public static ExecutorService newCachedThreadPool() {
return new ThreadPoolExecutor(0, Integer.MAX_VALUE,60L, TimeUnit.SECONDS,new SynchronousQueue<Runnable>());
}
//newScheduledThreadPool
public static ScheduledExecutorService newScheduledThreadPool(int corePoolSize) {
return new ScheduledThreadPoolExecutor(corePoolSize);
}
//newStringooo
}
先看一个具体的例子,用例子来说明它们之间的异同.
package thread;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
/**
* Created by yang on 16-7-11.
*/
public class Ch09_Executor {
private static void run(ExecutorService threadPool) {
for (int i = 1; i < 5; i++) {
final int taskID=i;
threadPool.execute(new Runnable() {
@Override
public void run() {
for(int i=1;i<5;i++){
try{
资源评论
weixin_38672807
- 粉丝: 9
- 资源: 925
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功