文档章节

newCachedThreadPool()可缓存线程池详解,代码示例

满风
 满风
发布于 2016/04/15 17:05
字数 325
阅读 786
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

package com.dy.pool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 在Executors类里面提供了一些静态工厂,生成一些常用的线程池。
 3. newCachedThreadPool
 创建一个可缓存的线程池。如果线程池的大小超过了处理任务所需要的线程,
 那么就会回收部分空闲(60秒不执行任务)的线程,当任务数增加时,此线程池又可以智能的添加新线程来处理任务。
 此线程池不会对线程池大小做限制,线程池大小完全依赖于操作系统(或者说JVM)能够创建的最大线程大小。
 */
public class CachedThreadPool {
    public static void main(String[] args) {
        System.out.println("欢迎来到线程世界!");

        //创建一个可重用固定线程数的线程池
        ExecutorService pool = Executors.newCachedThreadPool();
        //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口
        CachedThreadPool.MyThread t1 = new CachedThreadPool().new MyThread("线程实例1");
        CachedThreadPool.MyThread t2 = new CachedThreadPool().new MyThread("线程实例2");
        CachedThreadPool.MyThread t3 = new CachedThreadPool().new MyThread("线程实例3");
        CachedThreadPool.MyThread t4 = new CachedThreadPool().new MyThread("线程实例4");
        //将线程放入池中进行执行
        pool.execute(t1);
        pool.execute(t2);
        pool.execute(t3);
        pool.execute(t4);
        //关闭线程池
        pool.shutdown();
    }

    class MyThread extends Thread {
        public MyThread(){}
        public MyThread(String name){
            super(name);
        }
        @Override
        public void run() {
            System.out.println(this.getName() + "正在执行。。。");
            System.out.println(Thread.currentThread().getName() + "正在执行。。。");
        }
    }
}



满风

满风

粉丝 96
博文 189
码字总数 192008
作品 0
杭州
技术主管
私信 提问
加载中
请先登录后再评论。
线程池很容易理解的

线程池介绍 并发队列 线程池原理分析 自定义线程池 文中部分代码使用 lambda 表达式以简化代码。 线程池 什么是线程池? Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执...

Java干货分享
2018/10/22
41
1
Java 四种线程池的使用

通过Executors提供四中线程池,分别如下 newCachedThreadPool:创建一个可缓存线程池,若线程长度超过处理需要,可灵活回收空闲线程,若无可回收线程,则新建线程; newFixedThreadPool:创建...

osc_zqnsx4hz
2018/10/09
2
0
Java程序员必备知识-多线程框架Executor详解

为什么引入Executor线程池框架 new Thread()的缺点 每次new Thread()耗费性能 调用new Thread()创建的线程缺乏管理,被称为野线程,而且可以无限制创建,之间相互竞争,会导致过多占用系统资...

fengsehng
2016/11/09
14
0
Java中java.util.concurrent包下的4中线程池代码示例

先来看下ThreadPool的类结构 其中红色框住的是常用的接口和类(图片来自:https://blog.csdn.net/panweiwei1994/article/details/78617117?from=singlemessage) 为什么需要线程池呢? 我们在创...

osc_u5cbjmfi
2019/03/27
5
0
java 并发包里Eexcutors创建线程池的几种方法

Executors Executors提供了一些方便创建TreadPoolExecutors的方法,主要有以下几个: newFixedThreadPool(int) 创建一个固定大小线程池。从下面的代码我们可以看出,corePoolSize需要指定,即...

汪林
2014/06/14
429
0

没有更多内容

加载失败,请刷新页面

加载更多

终 于 知 道 《玩 快 3 不 贪 心 每 天 赚 几 百 》的 方 法

终 于 知 道 《玩 快 3 不 贪 心 每 天 赚 几 百 》的 方 法 〓老师:83770023 〓】【注册码:75141155】 1.The past is gone and static. Nothing we can do will change it....

bajing09
10分钟前
0
0
快 3 规 律 技 巧 教 你 怎 么 看+71756373

老师:【叩+ 71756373】1.The past is gone and static. Nothing we can do will change it. Thefuture is before us and dynamic. Everything we do will affect it. 往昔已逝,静如止水;我......

fenhe45
11分钟前
0
0
终于明白快3怎么打才能回血

终于明白快3怎么打才能回血 蔻「67790572」学习走势技巧 以上讲述的热门模式它会在某个时间段爆发,我们要趁着这个时间段尽快下,你要学会分清走势什 么时候是热门,什么时候是冷门, 重点是...

vq67790572
12分钟前
0
0
快 3 大 小 单 双 口 诀 +87095713

【咨87095713】【玛70704659】【网09191c.com】 1.The past is gone and static. Nothing we can do will change it. Thefuture is before us and dynamic. Everything we do will affect it......

qiaohao0961
13分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部