当前位置: 首页 > news >正文

Java中的五种线程池类型

Java中的五种线程池类型

    • 1. CachedThreadPool (有缓冲的线程池)
    • 2. FixedThreadPool (固定大小的线程池)
    • 3. ScheduledThreadPool(计划线程池)
    • 4. SingleThreadExecutor (单线程线程池)
    • 5. ThreadPoolExecutor (自定义线程池)


💖The Begin💖点点关注,收藏不迷路💖

1. CachedThreadPool (有缓冲的线程池)

  • 特点:动态调整线程数,适合执行大量短时间的异步任务。
  • 适用场景:任务执行时间短,提交频率高。
ExecutorService threadPool = Executors.newCachedThreadPool();

2. FixedThreadPool (固定大小的线程池)

  • 特点:固定大小的线程池,控制并发量。
  • 适用场景:任务执行时间长,需控制并发数。
ExecutorService threadPool = Executors.newFixedThreadPool(3);

3. ScheduledThreadPool(计划线程池)

  • 特点:支持定时及周期性执行任务。
  • 适用场景:定时检查、发送邮件等周期性或延迟任务。
ExecutorService threadPool = Executors.newScheduledThreadPool(2);

4. SingleThreadExecutor (单线程线程池)

  • 特点:单线程执行,保证任务顺序。
  • 适用场景:需要顺序执行的任务,或避免并发。
ExecutorService threadPool = Executors.newSingleThreadExecutor();

5. ThreadPoolExecutor (自定义线程池)

  • 特点:高度可配置,自定义参数。
  • 适用场景:复杂的并发场景,需要自定义线程池参数。
ExecutorService threadPool = new ThreadPoolExecutor(  // 核心线程数  1,   // 最大线程数  5,   // 线程存活时间  1L,   // 时间单位  TimeUnit.SECONDS,  // 任务队列  new LinkedBlockingQueue<>(),  // 线程工厂  Executors.defaultThreadFactory(),  // 拒绝策略  new ThreadPoolExecutor.AbortPolicy()  
);

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

相关文章:

Java中的五种线程池类型

Java中的五种线程池类型 1. CachedThreadPool &#xff08;有缓冲的线程池&#xff09;2. FixedThreadPool &#xff08;固定大小的线程池&#xff09;3. ScheduledThreadPool&#xff08;计划线程池&#xff09;4. SingleThreadExecutor &#xff08;单线程线程池&#xff09…...

FFmpeg Windows安装教程

一. 下载ffmpeg 进入Download FFmpeg网址&#xff0c;点击下载windows版ffmpeg。 下载第一个essentials版本就行。 二. 环境配置 上面源码解压后如下 将bin添加到系统环境变量 验证安装是否成功&#xff0c;输入ffmpeg –version&#xff0c;显示版本即为安装成功。...

‘#‘ is not followed by a macro parameter 关于宏定义的错误

今天在项目代码上想定义一个这样的宏&#xff0c;结果编译错误&#xff0c;这个宏定义类似这样的&#xff1a; #define DELETE_FILE_DPP(key) \ #ifdef PLATFORM_DPP \delete_file(&key); \ #endif 因为有平台之分需要用到编译宏&#xff0c;但不想每个调用的地方都写 #i…...

内网穿透--meterpreter端口转发实验

实验背景 通过公司带有防火墙功能的路由器接入互联网&#xff0c;然后由于私网IP的缘故&#xff0c;公网无法直接访问内部主机&#xff0c;则需要通过已连接会话&#xff0c;代理穿透访问内网主机服务。 实验设备 1.路由器一台 2.内网 Win 7一台 3.公网 Kali 一台 4.网络 …...

Python 数据类:减少样板并提高可读性

一.介绍 在本文中&#xff0c;我们将了解数据类。Python 3.7 引入了数据类&#xff0c;这是一个强大的功能&#xff0c;它简化了创建主要用于存储数据的类的过程。数据类减少了样板代码并提供有用的默认行为&#xff0c;使您的代码更简洁、更高效。 二.为什么要使用数据类&am…...

家庭教育系列—北京海淀区”鸡娃“攻略

文章目录 1. 背景介绍2. 道3. 法3.1 **目标设定(Goal Setting)**3.2 **学习计划(Study Planning)**3.3 **资源利用(Resource Utilization)**3.4 **能力培养(Skill Development)**4. 术4.1 英语4.1.1 启蒙4.1.2 启蒙之后4.3 数学4.3.1 奥数4.3.2 普通数学知识4.4 语文4.…...

DLMS/COSEM中的信息安全:DLMS/COSEM安全概念(下)

3.安全语境 安全语境定义了与加密转换有关的安全属性,并包括以下元素: ——安全组件,确定可用的安全算法。 ——安全策略,在AA内对所有xDLMS APDU确定将应用的那种保护; ——与给定的安全算法相关的安全资料,包含安全密钥、初始化向量、公共密钥证书等。由于安全资料是针…...

基于 systemc-2.3.1的virtual device 接入 qemu-arm

1&#xff0c;下载systemc-2.3.1 下载网址&#xff1a; SystemC Files $ wget https://www.accellera.org/images/downloads/standards/systemc/systemc-2.3.1.tgz 2&#xff0c;编译安装 systemc-2.3.1 tar zxf systemc-2.3.1.tgz cd systemc-2.3.1/ export CXXg mkdir bu…...

(七)自动化测试

1. 简述什么是UI自动化测试? 正确回答通过率:78.0%[ 详情 ] 推荐指数: ★★★★ 试题难度: 中级 UI自动化测试(User Interface Automation Testing)是一种通过编写脚本或使用自动化测试工具,对用户界面(UI)进行自动化测试的方法。它可以模拟用户与应用程序或网站的交…...

【信创】virtualbox内虚拟机连接U盘 _ 统信 _ 麒麟 _ 中科方德

原文链接&#xff1a;【信创】virtualbox内虚拟机连接U盘 | 统信 | 麒麟 | 中科方德 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在信创操作系统上使用VirtualBox虚拟机连接物理主机U盘的文章。在使用VirtualBox虚拟机时&#xff0c;有时候需要将物理主机上的…...

【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分

【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分 本文承接文章【2024】Datawhale AI夏令营 Task3笔记——Baseline2部分代码解读及初步上分思路&#xff0c;对其中vllm加速方式进行修改&#xff0c;推理速度获得了极大提升。另外&#xff0c;…...

腾讯OCR签名算法

云服务器 签名方法 v3-调用方式-API 中心-腾讯云 一&#xff0c;签名算法-官网 copy官网 package com.smcv.customer.service.util;import org.springframework.http.HttpHeaders;import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import javax.xml.bind.D…...

CTFHUB-SSRF-DNS重绑定 Bypass

开启题目&#xff0c;页面空白&#xff0c;访问附件 附件是一个知乎的文章&#xff0c;翻到下面点击文中这个链接 跳转之后&#xff0c;进行设置 把得到的链接拼接到题目的后面进行访问&#xff0c;然后得到了本题的 flag...

【oracle】数据库基本使用

一、oracle数据库简介 Oracle 数据库&#xff0c;亦称 Oracle RDBMS&#xff0c;或简称 Oracle&#xff0c;是一款由甲骨文公司推出的高效、稳定且广泛应用的关系型数据库管理系统。该数据库系统不仅在数据管理领域处于领先地位&#xff0c;而且由于其良好的可移植性、易用性和…...

Action部署在线上写文章

原文&#xff1a;https://blog.c12th.cn/archives/32.html 前言 之前分别出了 Hexo 和 Hugo 的 Action搭建教程&#xff0c;相当于伪动态&#xff0c;可以在线上写文章了&#xff1b;不过对于喜欢魔改的同学就不太友好了qwq 教程 github.dev 确保在配置过程中能访问Github &…...

CC链 (Commons Collections)

目录 前置知识 CC链: https://mvnrepository.com/ CC链 CC链 Commons Collections --apache组织发布的开源库 里面主要对集合的增强以及扩展类 被广泛使用 组件,HashMap HashTable ArrayList总结CC链: 就是有反序列化入口&#xff0c;同时有cc库的情况下&#xff0c…...

左手坐标系、右手坐标系、坐标轴方向

一、右手坐标系 1、y轴朝上&#xff1a;webgl、Threejs、Unity、Unreal、Maya、3D Builder x&#xff1a;向右y&#xff1a;向上z&#xff1a;向前&#xff08;朝向观察者、指向屏幕外&#xff09; 2、z轴朝上&#xff1a;cesium、blender x&#xff1a;向右y&#xff1a;向前…...

芋道源码yudao-cloud 二开日记(商品sku数据归类为规格属性)

商品的每一条规格和属性在数据库里都是单一的一条数据&#xff0c;从数据库里查出来后&#xff0c;该怎么归类为对应的规格和属性值&#xff1f;如下图&#xff1a; 在商城模块&#xff0c;商品的单规格、多规格、单属性、多属性功能可以说是非常完整&#xff0c;如下图&#x…...

自媒体新闻资讯类网站模板/EyouCMS自媒体资讯类网站模板

自媒体新闻资讯类网站模板&#xff0c;EyouCMS自媒体资讯类网站模板。模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#xff0c;原创设计、手工书写DIVCSS&#xff0c;完美兼容IE7、Firefox、Chrome、360浏览器等&#xff1b;主流浏览器&#xff1b;结构容易优化&#x…...

Python3 第六十课 -- 实例二十九

目录 一. 冒泡排序 二. 归并排序 一. 冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;也是一种简单直观的排序算法。它重复地走访过要排序的数列&#xff0c;一次比较两个元素&#xff0c;如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中&#xff0c;我们渴望一个能激发创想、愉悦感官的工作与生活伙伴&#xff0c;它不仅是冰冷的科技工具&#xff0c;更能触动我们内心深处的细腻情感。正是在这样的期许下&#xff0c;华硕a豆14 Air香氛版翩然而至&#xff0c;它以一种前所未有的方式&#x…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...