美文网首页
java线程池及使用场景

java线程池及使用场景

作者: 任嘉平生愿 | 来源:发表于2019-11-15 15:42 被阅读0次

线程池的种类以及使用场景

五种线程池

JUC
newSingleThreadPool
newFixedThreadPool
newCachedThreadPool
newScheduledThreadPool
Spring
ThreadPoolTaskExecutor (BlockingQueue)

execute和submit区别
execute()
用于提交不需要返回值的任务
submit()
用于提交需要返回值的任务

newSingleThreadPool
只有一个线程,就确保所有的任务都在同一个线程中顺序执行

newFixedThreadPool
全是核心线程
即使是空闲状态,线程不会被回收,除非线程池被关闭
使用LinkedBlockingQueue
适用于任务量比较固定但耗时长的任务。

newCachedThreadPool
是非核心线程,其maximumPoolSize设置为Integer.MAX_VALUE,线程可以无限创建
使用SynchronousQueue
这个队列是无法插入任务的,一有任务立即执行
比较适合任务量大但耗时少的任务。

newScheduledThreadPool
这类线程池核心线程数量是固定
它的非核心线程是没有限制的,并且非核心线程一闲置就会被回收核心线程是不会回收
使用DelayedWorkQueue
会将任务排序,按新建一个非核心线程顺序执行,执行完线程就回收

ThreadPoolTaskExecutor
spring为我们提供的线程池
采用BlockingQueue
配合 ConcurrentTaskExecutor保证安全
手动new线程池避免了OOM

相关文章

  • J.U.C——线程池专题

    主要讨论以下问题: 认识Java线程池 线程池的种类,区别,和使用场景 线程池的工作流程 线程池几个参数的理解 分...

  • java线程池及使用场景

    线程池的种类以及使用场景 五种线程池 JUCnewSingleThreadPoolnewFixedThreadPo...

  • 关于线程池的面试题

    问题 1. 为什么要使用线程池,线程池用什么用 2. 说说几种常见的线程池及使用场景newFixedThreadP...

  • JDK多任务执行框架

    1、为什么要使用线程池?2、线程池有什么作用?3、说说几种常见的线程池及使用场景。4、线程池都有哪几种工作队列?5...

  • 线程池面试题

    1、为什么要使用线程池?2、线程池有什么作用?3、说说几种常见的线程池及使用场景。4、线程池都有哪几种工作队列?5...

  • Java中线程池的介绍及Executor框架的使用

    1. 使用线程池的好处 Java中的线程池是运用场景最多的并发框架,在开发过程中,合理的使用线程池能够带来3个好处...

  • 线程池的使用及原理详解

    Java中的线程池是运用场景最多的并发框架,几乎所有需要并发执行的程序都可以使用线程池,合理的使用线程池可以降低资...

  • 并发编程09--Java中的线程池

    Java中的线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程...

  • 线程

    Java 并发编程:线程池的使用 Java 并发编程:线程池的使用java 多线程核心技术梳理 (附源码) 本文对...

  • 线程池

    线程池的好处 Java 中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。...

网友评论

      本文标题:java线程池及使用场景

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