iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >线程池的实现方式
  • 727
分享到

线程池的实现方式

java入门线程池 2018-03-19 15:03:33 727人浏览 才女
摘要

线程池有以下几种实现方式:Executors目前提供了5种不同的线程池创建配置:1、newCachedThreadPool()它是用来处理大量短时间工作任务的线程池,具有几个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的

线程池有以下几种实现方式:

Executors目前提供了5种不同的线程池创建配置:

1、newCachedThreadPool()

它是用来处理大量短时间工作任务的线程池,具有几个鲜明特点:它会试图缓存线程并重用,当无缓存线程可用时,就会创建新的工作线程;如果线程闲置时间超过60秒,则被终止并移除缓存;长时间闲置时,这种线程池,不会消耗什么资源。其内部使用SynchronousQueue作为工作队列。

视频教程推荐:java视频教程

2、newFixedThreadPool(int nThreads)

重用指定数目(nThreads)的线程,其背后使用的是无界的工作队列,任何时候最多有nThreads个工作线程是活动的。这意味着,如果任务数量超过了活动线程数目,将在工作队列中等待空闲线程出现;如果工作线程退出,将会有新的工作线程被创建,以补足指定数目nThreads。

3、newSingleThreadExecutor()

它的特点在于工作线程数目限制为1,操作一个无界的工作队列,所以它保证了所有的任务都是被顺序执行,最多会有一个任务处于活动状态,并且不予许使用者改动线程池实例,因此可以避免改变线程数目。

4、newSingleThreadScheduledExecutor()和newScheduledThreadPool(int corePoolSize)

创建的是个ScheduledExecutorService,可以进行定时或周期性的工作调度,区别在于单一工作线程还是多个工作线程。

5、newWorkStealingPool(int parallelism)

这是一个经常被人忽略的线程池,Java 8 才加入这个创建方法,其内部会构建ForkJoinPool,利用Work-Stealing算法,并行地处理任务,不保证处理顺序。

相关文章教程分享:java快速入门

--结束END--

本文标题: 线程池的实现方式

本文链接: https://www.lsjlt.com/news/3192.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于python线程池的四种实现方式
    目录python 线程池的四种实现方式线程简述方式1 multiprocessing.dummy Pool()方式2:multiprocessing.pool ThreadPool ...
    99+
    2023-05-16
    python线程池 python线程池实现
  • Go实现线程池(工作池)的两种方式实例详解
    worker pool简介 worker pool其实就是线程池thread pool。对于go来说,直接使用的是goroutine而非线程,不过这里仍然以线程来解释线程池。 在线程...
    99+
    2024-04-02
  • Java线程池的实现方法
    本篇内容主要讲解“Java线程池的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java线程池的实现方法”吧!以前做的东西,实现一个简单的多线程机制,开始之前,现说说原理性的东西吧,下面...
    99+
    2023-06-17
  • Go实现线程池的两种方式是什么
    这篇“Go实现线程池的两种方式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go实现线程池的两种方式是什么”文章吧。w...
    99+
    2023-06-30
  • JavaEE线程安全实现线程池方法
    前言: 线程虽然比进程更轻量,但是如果创建销毁的频率进一步增加,开销还是很大 解决方案:线程池or协程 线程池:把线程提前创建好放到池子里,后续用到线程直接从池子里取不必这边申请了。...
    99+
    2024-04-02
  • GOworkPool的线程池实现
    Go语言中的线程池是一种用于管理并发执行任务的设计模式。 线程池的主要目的是减少创建和销毁线程的开销,提高系统性能。 在Go语言中,线程池通常使用goroutine和channel来...
    99+
    2023-03-24
    GO workPool线程池 GO workPool
  • jdk线程池的实现
    jdk线程池ThreadPoolExecutor的7个参数 public ThreadPoolExecutor(int corePoolSize, ...
    99+
    2023-05-14
    jdk线程池
  • SpringBoot实现线程池
    现在由于系统越来越复杂,导致很多接口速度变慢,这时候就会想到可以利用线程池来处理一些耗时并不影响系统的操作。 新建Spring Boot项目 1. ExecutorConfig....
    99+
    2024-04-02
  • python实现线程池
    什么是线程池?     诸如web服务器、数据库服务器、文件服务器和邮件服务器等许多服务器应用都面向处理来自某些远程来源的大量短小的任务。构建服务器应用程序的一个过于简单的模型是:每当一个请求到达就创建一个新的服务对象,然后在新的服务对象中...
    99+
    2023-01-31
    线程 python
  • 用 Python 实现的线程池
    为了提高程序的效率,经常要用到多线程,尤其是IO等需要等待外部响应的部分。线程的创建、销毁和调度本身是有代价的,如果一个线程的任务相对简单,那这些时间和空间开销就不容忽视了,此时用线程池就是更好的选择,即创建一些线程然后反复利用它们,而不...
    99+
    2023-01-31
    线程 Python
  • java线程池实现的方法是什么
    Java中线程池的实现方法是通过使用java.util.concurrent包中的ThreadPoolExecutor类来创建和管理...
    99+
    2023-10-11
    java
  • c++线程池实现的方法是什么
    C++线程池的实现方法可以使用C++中的多线程库,如std::thread和std::mutex等来实现。以下是一个简单的C++线程...
    99+
    2023-10-26
    c++
  • PHP底层的线程池与协程实现方法
    PHP底层的线程池与协程实现方法在PHP编程中,线程池和协程是提高性能和并发能力的重要方法。本文将介绍PHP底层实现线程池和协程的方法,并提供具体代码示例。一、线程池的实现线程池是一种重用线程的机制,可以提高多线程应用程序的性能。在PHP中...
    99+
    2023-11-08
    线程池 PHP底层 协程实现方法
  • Springboot自带线程池的实现
    目录一: ThreadPoolTaskExecuto二: ThreadPoolTaskScheduler 三 @Scheduled实现定时任务,注解开启定时任务四:Spri...
    99+
    2023-05-20
    Springboot自带线程池 Springboot自带线程池
  • 实现java简单的线程池
    目录拆分实现流程实现方式1.拒绝策略2.阻塞队列3.线程池和工作线程策略模式对比JDK的线程池线程池的状态转化总结拆分实现流程 请看下面这张图 首先我们得对线程池进行一个功能拆分 ...
    99+
    2024-04-02
  • Python线程池的实现浅析
    目录一、序言二、正文1、Future 对象2、提交函数自动创建 Future 对象3、future.set_result 到底干了什么事情4、提交多个函数5、使用 map 来提交多个...
    99+
    2024-04-02
  • @Async异步线程池以及线程的命名方式
    本文记录@Async的基本使用以及通过实现ThreadFactory来实现对线程的命名。 @Async的基本使用 近日有一个道友提出到一个问题,大意如下: 业务场景需要进行批量更新,...
    99+
    2024-04-02
  • 线程池的创建方式有哪些
    这篇文章主要讲解了“线程池的创建方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“线程池的创建方式有哪些”吧!什么是线程池线程池(ThreadPool...
    99+
    2024-04-02
  • C/C++ 原生API实现线程池的方法
    线程池有两个核心的概念,一个是任务队列,一个是工作线程队列。任务队列负责存放主线程需要处理的任务,工作线程队列其实是一个死循环,负责从任务队列中取出和运行任务,可以看成是一个生产者和...
    99+
    2024-04-02
  • Java线程池的构造方法怎么实现
    本篇内容主要讲解“Java线程池的构造方法怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java线程池的构造方法怎么实现”吧!一、 前言为了实现并发编程,于是就引入了进程这个概念。进程就...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作