美文网首页Java 杂谈
Java中线程池原理以及参数说明

Java中线程池原理以及参数说明

作者: 编程小世界 | 来源:发表于2019-05-28 19:33 被阅读0次

Java开发的同学肯定使用过多线程,使用多线程那就肯定会用到线程池。而且个人认为线程池也是各大互联网公司在面试的时候比问的一个知识点。因此作为开发人员,必须了解线程池的原理以及具体参数的含义。

首先我们来了解下线程池的基本原理

第一步便是我们将我们的任务提交给线程池

如果线程池中有足够的线程或者线程数小于核心线程数,则直接执行任务或者创建一个新的线程来执行该任务。否则进入步骤3

提交任务时,线程池中的空闲的线程数为0并且线程数等于核心线程数,则观察线程池中的任务队列是否已满,如果未满则将任务添加到任务队列,否则进入步骤4

当任务队列已满时,就执行拒绝策略(后续详解拒绝策略)

在大致了解了线程池的基本工作原理之后,我们再细看下线程池核心类ThreadPoolExecutor

publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,                              TimeUnit unit,                              BlockingQueue workQueue,                              ThreadFactory threadFactory,                              RejectedExecutionHandler handler){//省略具体的代码内容}

参数说明

参数说明

corePoolSize核心线程数

maximumPoolSize最大线程数,一般大于等于核心线程数

keepAliveTime线程存活时间(针对最大线程数大于核心线程数时,非核心线程)

unit存活时间单位,和线程存活时间配套使用

workQueue任务队列

threadFactory创建线程的工程

handler拒绝策略

拒绝策略有以下几种

拒绝策略说明

AbortPolicy为java线程池默认的阻塞策略,不执行此任务,而且直接抛出一个运行时异常。

DiscardOldestPolicy丢弃队列最前面的任务,然后重新尝试执行任务(重复此过程)

DiscardPolicy也是丢弃任务,但是不抛出异常

CallerRunsPolicy由调度线程处理该任务

我自己是一个从事了6年的Java全栈工程师,最近整理了一套适合2019年学习的Java\大数据资料,从基础的Java、大数据面向对象到进阶的框架知识都有整理哦,可以来我的主页免费领取哦。

相关文章

  • Java中线程池原理以及参数说明

    Java开发的同学肯定使用过多线程,使用多线程那就肯定会用到线程池。而且个人认为线程池也是各大互联网公司在面试的时...

  • JAVA线程池常见用法

    JAVA线程池常见用法及其原理 1.JAVA线程池常见用法: 2.核心参数讲解 corePoolSize: 核心线...

  • Java中线程池,你真的了解会用吗

    在《深入源码分析Java线程池的实现原理》这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。 在文中...

  • Java线程池原理

    本篇文章主要介绍Java线程池的原理以及源码的分析 线程池的介绍 Java中的线程池是运用场景最多的并发框架,几乎...

  • 线程以及java线程池实现分享

    线程以及java线程池实现分享 线程简介 JDK线程池的工作原理 JDK线程池的实现细节 1.线程简介-由来 1....

  • 支付宝Java开发1-3面/HR面

    一面 介绍项目 java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理...

  • 阿里4面最全面试题

    一面 介绍项目 java 线程池的实现原理,threadpoolexecutor关键参数解释 hashmap的原理...

  • 面试题2019年7月

    线程池原理 参考:Java 线程池原理分析 线程池工作原理:1、线程数量小于 corePoolSize,直接创建新...

  • 安卓线程池概述

    提纲 是什么(使用线程池的原因,线程池的定义,好处,线程池原理) 怎么用(常见的使用方式,以及各个参数的作用) 为...

  • java基础-多线程

    java线程池的实现 ThreadPoolExecutor java线程池几个参数 corePoolSize当线程...

网友评论

    本文标题:Java中线程池原理以及参数说明

    本文链接:https://www.haomeiwen.com/subject/pxdjtctx.html