1、Executors.newFixedThreadPool(5)    是创建一个线程池,池子里面有5个线程,任务数多余5个时,超出的任务队列中排队等候执行

2、Executors.newCachedThreadPool    创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。

3、Executors.newSingleThreadExecutor     创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。

注::FIFO: 全称First in, First out,先进先出。 LIFO: 全称Last in, First out,后进先出。

importjava.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;/*** @author liugao* *         2018年6月8日-上午10:18:15*/
public class ThreadPoolTest {/*** @param args*/public static void main(String[] args) {
//      ExecutorService threadPool = Executors.newCachedThreadPool();
//      ExecutorService threadPool = Executors.newSingleThreadExecutor();ExecutorService threadPool = Executors.newFixedThreadPool(5);// 创建一个线程池for (int i = 0; i < 10; i++) {final int task = i;threadPool.execute(new Runnable() {       //往池子里面丢10次任务@Overridepublic void run() {for (int j = 0; j <= 3; j++) {System.out.println("当前线程名:"+ Thread.currentThread().getName()+"####当前任务是:"+ task);}}});}threadPool.shutdown();}}

线程池用完之后记得shutdown

4、Executors.newScheduledThreadPool(2);     可以延迟执行,除了延迟执行外,跟newFixedThreadPool基本一样

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/*** @author liugao* *         2018年6月8日-上午10:18:15*/
public class ThreadPoolTest {   /**
     * @param 6秒后炸一次,之后每隔2秒炸一次
     */
    public static void main(String[] args) {
        ScheduledExecutorService ScheduledThreadPool = Executors.newScheduledThreadPool(2);
            ScheduledThreadPool.scheduleAtFixedRate(new Runnable() {
                        @Override
                        public void run() {

                            System.out.println("booming!");
                        }
                    }, 6, 2, TimeUnit.SECONDS);
    }
}

当第一个任务执行完成之后,延迟指定时间再开始执行第二个任务

java多线程——Executors线程池的四种用法简单解析相关推荐

  1. 第二十八期:Java线程池的四种用法与使用场景

    线程池的作用主要是为了提升系统的性能以及使用率.文章刚开始就提到,如果我们使用最简单的方式创建线程,如果用户量比较大,那么就会产生很多创建和销毁线程的动作,这会导致服务器在创建和销毁线程上消耗的性能可 ...

  2. java assert使用场景_Java线程池的四种用法与使用场景

    一.如下方式存在的问题 new Thread() { @Override public void run() { // 业务逻辑 }}.start(); 1.首先频繁的创建.销毁对象是一个很消耗性能的 ...

  3. newsinglethreadexecutor使用场景_Java线程池的四种用法与使用场景

    来源公众号一个程序员的成长 ,作者小涛 一.如下方式存在的问题 new Thread() { @Override public void run() { // 业务逻辑 }}.start(); 1.首 ...

  4. Java线程池的四种创建方式

    Java线程池的四种创建方式 Java使用Thread类来表示线程,所有的线程都是Thread类或者是他的子类.Java有四种方式来创建线程. (1)继承Thread类创建线程 (2)实现Runnab ...

  5. Java多线程之线程池的手写改造和拒绝策略

    Java多线程之线程池的手写改造和拒绝策略 目录 自定义线程池的使用 四种拒绝策略代码体现 1. 自定义线程池的使用 自定义线程池(拒绝策略默认AbortPolicy) public class My ...

  6. Java多线程之线程池7大参数、底层工作原理、拒绝策略详解

    Java多线程之线程池7大参数详解 目录 企业面试题 线程池7大参数源码 线程池7大参数详解 底层工作原理详解 线程池的4种拒绝策略理论简介 面试的坑:线程池实际中使用哪一个? 1. 企业面试题 蚂蚁 ...

  7. java多线程及线程池使用

    Java多线程及线程池的使用 Java多线程 一.Java多线程涉及的包和类 二.Java创建多线程的方式 三.Java线程池 1. 创建线程池ThreadPoolExecutor的7个参数 2. 线 ...

  8. Java多线程之线程池详解

    Java多线程之线程池详解 目录: 线程池使用及优势 线程池3个常用方式 线程池7大参数深入介绍 线程池底层工作原理 1. 线程池使用及优势 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务 ...

  9. java多线程之线程池简介

    前言 池化技术已经屡见不鲜了,比如数据库连接池,大家的项目中应该也用到了线程池.池化技术的好处:降低资源的消耗,提高响应速度,提高线程的可管理性.本篇主要是和大家一起分析下线程池的架构和它的工作流程. ...

最新文章

  1. android浮动文本,android – 如何将文本添加到浮动操作按钮?
  2. jtree 默认展开树的全部节点
  3. 如何自动播放光盘、解决win7电脑不能播放光盘
  4. 【算法学习笔记】堆排序和归并排序、其他几种排序的代码实现、比较和应用(习题)
  5. python入门系列:深入Python的set和dict
  6. C语言 共用体/联合体 union
  7. 一篇文章带你领悟 Frida 的精髓(基于安卓8.1)
  8. 《论道HTML5》内容技术分享活动
  9. org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
  10. 1.7_heap_sort_堆的向下调整堆排序
  11. Pulsar:一款功能强大的可视化网络足迹扫描平台
  12. WPF:新手入门教程
  13. malloc函数的使用
  14. PassMark PerformanceTest v10.1.1004 电脑性能测试工具直装版
  15. 香港地区Airbnb数据可视化分析
  16. 机器学习入门之:使用 scikit-learn 决策分类树来预测泰坦尼克号沉船生还情况
  17. 18个最好的代码编辑器/IDE工具,希望你会喜欢。
  18. 富文本编辑器:ckeditor(使用官网下载包)
  19. 【苹果相册】苹果推从新建的私钥CSR文件Profile还分为开发和分发
  20. 美业SaaS的创业分享之[定位]:美业SaaS的定位到底是工具还是平台

热门文章

  1. 68-C语言-打鱼晒网问题
  2. java实现银行新用户现金业务办理(数据库)
  3. GitHub 优秀的 Android 开源项目 - 让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) - 博客频道 - CSDN.NET
  4. 成为阿里P7移动架构师到底有多难?享学课堂java架构师
  5. 浏览器,服务器,浏览器和服务器之间的通信协议
  6. C语言KR习题系列——统计一段文字中各个字母出现的频率
  7. 数据结构课程设计-班级考勤管理系统
  8. 复习一周,京东+百度一面,不小心都拿了Offer
  9. win7 pdf图标显示错误的解决办法
  10. 顶会论文 | 阿里云视频摘要SOTA模型:用于视频摘要的多层时空网络