博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
缓存线程池的作用
阅读量:7122 次
发布时间:2019-06-28

本文共 852 字,大约阅读时间需要 2 分钟。

JAVA提供4种缓存线程池

  • newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
  • newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
  • newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
  • newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。

 

 

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;
/**
 * 缓存线程池
 * 缓存线程池可以提高程序性能
 * 长时间闲置的不会占用资源
 * */
public class MyCache {
    public static void main(String[] args) {
        ExecutorService exec = Executors.newCachedThreadPool();
        for (int index = 0; index < 10; index++) {
            Runnable run = new Runnable() {
                public void run() {
                    long time = (long) (Math.random() * 1000);
                    System.out.println("sleep:" + time + " ss ");
                    try {
                        Thread.sleep(time);
                    } catch (Exception e) {
                    }
                }
            };
            exec.execute(run);
        }
        exec.shutdown();
    }
}

 

转载于:https://www.cnblogs.com/zique/p/6152845.html

你可能感兴趣的文章
解决TextView上的文字与其他view的间距问题
查看>>
从机器智能得到的启示:对年轻人第一份工作的建议
查看>>
object c 一个改变图标颜色的方法
查看>>
Pinpoint-java性能分析最佳实践_开源PaaS Rainbond
查看>>
Kafka 消息序列化和反序列化(上)
查看>>
箭头函数
查看>>
npm--依赖管理 2
查看>>
设计模式 开闭原则
查看>>
UI设计小白怎样学才能快速入门?
查看>>
用Redis轻松实现秒杀系统
查看>>
埋在MySQL数据库应用中的17个关键问题!
查看>>
APP瘦身这一篇就够了
查看>>
Spark in action on Kubernetes - 存储篇(一)
查看>>
Java springboot B2B2C o2o多用户商城 springcloud架构:服务消费(Feign)
查看>>
15. C#数据结构与算法 -- 栈
查看>>
2015年8月27日【文件权限管理及grep正则和扩展正则表达式】-JY1506402-19+liuhui880818...
查看>>
[SSIS] 之七: SSIS 学习之旅 FTP访问类
查看>>
让git push命令不再每次都输入密码 ssh配置_已迁移
查看>>
配置Linux主机SSH无密码访问
查看>>
saltstack 结束正在执行的任务
查看>>