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

面试高频知识点:2线程 2.1 线程池 2.1.2 JDK中常见的线程池实现有哪些?

1. Executors

Executors类是线程池的工厂类,提供了一些静态方法用于创建不同类型的线程池。然而,它的使用并不推荐在生产环境中,因为它存在一些缺点,比如默认使用无界的任务队列,可能导致内存溢出。

2. ThreadPoolExecutor

ThreadPoolExecutor是JDK中线程池的核心实现类,Executors类的静态方法实际上都是调用ThreadPoolExecutor的构造函数创建线程池。ThreadPoolExecutor提供了丰富的配置选项,允许开发者灵活地配置线程池的大小、任务队列、拒绝策略等参数。

ThreadPoolExecutor executor = new ThreadPoolExecutor(corePoolSize,         // 核心线程数maximumPoolSize,      // 最大线程数keepAliveTime,        // 线程空闲时间unit,                 // 时间单位workQueue,            // 任务队列threadFactory,        // 线程工厂handler               // 拒绝策略
);

3. FixedThreadPool

FixedThreadPoolExecutors类提供的一种线程池实现,它创建一个固定大小的线程池,所有任务都在同一个线程池中执行。这种线程池适用于执行长期的任务,避免线程的频繁创建和销毁。

ExecutorService executor = Executors.newFixedThreadPool(nThreads);

4. CachedThreadPool

CachedThreadPool也是Executors类提供的一种线程池实现,它创建一个可根据需要创建新线程的线程池,但会在以前构建的线程可用时重用它们。适用于执行短期异步任务的场景。

ExecutorService executor = Executors.newCachedThreadPool();

5. SingleThreadExecutor

SingleThreadExecutorExecutors类提供的一种线程池实现,它创建一个单线程的线程池,所有任务按顺序在该线程中执行。适用于需要保证顺序执行的场景。

ExecutorService executor = Executors.newSingleThreadExecutor();

6. ScheduledThreadPoolExecutor

ScheduledThreadPoolExecutorThreadPoolExecutor的子类,它可以在固定的时间间隔内执行任务,适用于定时任务和周期性任务的场景。

ScheduledExecutorService executor = Executors.newScheduledThreadPool(corePoolSize);

7. 自定义线程池

除了上述提到的线程池实现,开发者还可以通过继承ThreadPoolExecutor类,实现自定义的线程池。这样可以更灵活地满足特定业务需求,例如自定义任务队列、线程工厂、拒绝策略等。

ThreadPoolExecutor executor = new CustomThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler
);

8. 总结

JDK提供了多种线程池实现,每种实现都有其适用的场景和优缺点。在实际开发中,根据任务的性质和需求选择合适的线程池,合理配置线程池的参数,可以提高系统的性能,确保任务的有序执行,有效地管理系统的资源。

相关文章:

面试高频知识点:2线程 2.1 线程池 2.1.2 JDK中常见的线程池实现有哪些?

1. Executors类 Executors类是线程池的工厂类,提供了一些静态方法用于创建不同类型的线程池。然而,它的使用并不推荐在生产环境中,因为它存在一些缺点,比如默认使用无界的任务队列,可能导致内存溢出。 2. ThreadPool…...

Azure Private endpoint DNS 记录是如何解析的

Private endpoint 从本质上来说是Azure 服务在Azure 虚拟网络中安插的一张带私有地址的网卡。 举例来说如果Storage account在没有绑定private endpoint之前,查询Storage account的DNS记录会是如下情况: Seq Name …...

windows 安装sql server 华为云文档

先安装net3.5,剩下安装sqlserver步骤看下面文档 安装SQL Server_弹性云服务器 ECS_最佳实践_搭建Microsoft SharePoint Server 2016_华为云 (huaweicloud.com)...

相同主题文章竟同时发表在同一个2区期刊 | 孟德尔随机化周报(1.10-1.16)

欢迎报名2024年郑老师团队课程课程! 郑老师科研统计培训,包括临床数据、公共数据分析课程,欢迎报名 孟德尔随机化,Mendilian Randomization,简写为MR,是一种在流行病学领域应用广泛的一种实验设计方法,利用…...

网络安全的使命:守护数字世界的稳定和信任

在数字化时代,网络安全的角色不仅仅是技术系统的守护者,更是数字社会的信任保卫者。网络安全的使命是保护、维护和巩固数字世界的稳定性、可靠性以及人们对互联网的信任。本文将深入探讨网络安全是如何履行这一使命的。 第一部分:信息资产的…...

【七、centos要停止维护了,我选择Almalinux】

搜索镜像 https://developer.aliyun.com/mirror/?serviceTypemirror&tag%E7%B3%BB%E7%BB%9F&keywordalmalinux dvd是有界面操作的,minimal是最小化只有命里行 镜像下载地址 安装和centos基本一样的,操作命令也是一样的,有需要我…...

架构师之路(十六)计算机网络(传输层)

前置知识(了解):计算机基础。 作为架构师,我们所设计的系统很少为单机系统,因此有必要了解计算机和计算机之间是怎么联系的。局域网的集群和混合云的网络有啥区别。系统交互的时候网络会存在什么瓶颈。 既然网络层已经…...

python 调用SumatraPDF 静默打印PDF

SumatraPDF 文档 https://www.sumatrapdfreader.org/docs/Command-line-arguments ⽆边框 noscale/缩⼩到合适⼤⼩(默认)shrink/合适⼤⼩ fit/compat 兼容 # 分为 Portrait (纵向)和 Landscape (横向)两类 https://github.com/sumatrapdfreader/sumatrap…...

nginx部署https域名ssl证书

1、在你服务器nginx文件夹下创建ssl文件夹存放证书文件和秘钥文件 把.crt和.key证书放上 2、在nginx.conf文件中配置 在nginx.conf文件中server下加入listen 443 ssl; server {listen 443 ssl;charset utf-8;index index.html index.htm index.jsp index.do;add_heade…...

Python学习之路-Django基础:HelloDjango

Python学习之路-Django基础:HelloDjango 简介 Django,发音为[dʒŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD…...

完成NAT实验

实验要求: 步骤一:配置vlan vlan b 2 3 interface GigabitEthernet 0/0/2 port link-type access port default vlan 2 interface GigabitEthernet 0/0/3 port link-type access port default vlan 3 interface GigabitEthernet 0/0/1 port link-type…...

uniapp 用web-view嵌套网页地址并传参

小程序登陆后把token和openId 对应传到pc端 pc端有两套一套pc端代码和适应移动端的代码 嵌套的是适应移动端的代码 1.uniapp <template><view class"main"><u-navbar :fixed"true" :autoBack"false" leftClick"goBack&quo…...

时序数据库Tdengine 批量插入避免因为主键ts时间重复导致数据被覆盖掉

目录 在Mybatis中使用 在数据库管理工具中使用 now100a 使用now() #{index}a 其中那这个 #{index}是<foreach>标签里的循环出来的index 在Mybatis中使用 <insert id"batchInsert" parameterType"java.util.List">insert into uri(id…...

【小白教程】幻兽帕鲁服务器一键搭建 | 支持更新 | 自定义配置

幻兽帕鲁刚上线就百万在线人数&#xff0c;官方服务器的又经常不稳定&#xff0c;所以这里给大家带来最快捷的搭建教程&#xff0c;废话不多说直接开始。 步骤一&#xff1a;准备服务器 服务器建议 Linux 系统&#xff0c;资源占用低&#xff0c;而且一键脚本只需要一条命令&am…...

Chatgpt的崛起之路

Chatgpt的崛起之路 背景与发展历程背景发展历程 技术原理第一阶段&#xff1a;训练监督策略模型第二阶段&#xff1a;训练奖励模型第三阶段&#xff1a;采用强化学习来增强模型的能力。 国内使用情况及应用的领域面临的数据安全挑战与建议ChatGPT获取数据产生的问题数据泄露问题…...

java截取视频最后一帧照片作为封面

引言 我们在日常工作中经常会遇到上传视频&#xff0c;而产品还会要求截取视频某一帧作为封面展示&#xff0c;对于这种情况新手还是比较头疼的&#xff0c;那我们直接世界上最简单的实现方案&#xff0c;必须是最简单&#xff0c;多一句啰嗦都不准点赞。 How to do 1.提前…...

ARM Cortex-A 内核的运行模式切换

ARM Cortex-A 内核的运行模式切换 ARM Cortex-A系列内核的处理器支持多种运行模式的切换。 不同的运行模式能满足不同的需求,如响应中断、运行操作系统内核、处理异常等。 目录 1 ARM Cortex-A 内核的处理器什么场景下有切换运行模式的需求 2 ARM Cortex-A 内核的处理…...

分布式因果推断在美团履约平台的探索与实践

美团履约平台技术部在因果推断领域持续的探索和实践中&#xff0c;自研了一系列分布式的工具。本文重点介绍了分布式因果树算法的实现&#xff0c;并系统地阐述如何设计实现一种分布式因果树算法&#xff0c;以及因果效应评估方面qini_curve/qini_score的不足与应对技巧。希望能…...

254.【2023华为OD机试真题】-任务处理(贪心算法-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-任务处理二.解题思路三.题解代码Python题解代码…...

《WebKit 技术内幕》学习之十五(5):Web前端的未来

5 Crosswalk项目 Crosswalk项目是由英特尔公司发起的一个开源项目&#xff0c;该项目基于WebKit&#xff08;Blink&#xff09;和Chromium等开源项目打造&#xff0c;其目的是提供一个跨不同操作系统的Web运行环境&#xff0c;包括Android、Tizen、Linux、Windows、MacOS等众多…...

MySQL十部曲之四:MySQL中的数据类型

文章目录 前言概述数字类型数字类型语法数字类型字面量十六进制字面量位字面量布尔字面量 数字类型的属性超出范围和溢出处理 时间和日期类型时间和日期类型语法DATE、DATETIME和TIMESTAMP的异同TIMESTAMP和DATETIME的自动初始化和更新时间和日期字面量 字符串类型字符串类型语…...

flyway使用配置参数和注意事项介绍

文章目录 业务场景参数介绍initSqlsbaselineOnMigratebaselineVersiontargetvalidateOnMigrate SQL注意事项 业务场景 对于生产环境&#xff0c;随着项目版本迭代&#xff0c;数据库结构也会变动。如果一个项目在多个地方实施部署&#xff0c;且版本不一致&#xff0c;就需要一…...

ubuntu_qtcreator安装

https://download.qt.io/official_releases/qtcreator/ 5.15 以上安装 QT5.15以上不再提供离线安装包&#xff0c;只能在线安装&#xff0c;– 下载 下载地址如下&#xff1a; 腾讯云的国内资源: Index of /qt/official_releases/online_installers/ 官网下载&#xff1a;…...

uniapp map自定义气泡窗

uniapp map自定义气泡窗 1、map <template><view><map class"map" :latitude"mapCenter.lat" :longitude"mapCenter.lng" :scale"5" :markers"mapData"><!--自定义冒泡--><cover-view slot&qu…...

数据分析的理念、流程、方法、工具(上)

一、数据的价值 1、数据驱动企业运营 从电商平台的「猜你喜欢」到音乐平台的「心动模式」&#xff0c;大数据已经渗透到了我们生活的每一个场景。不论是互联网行业&#xff0c;还是零售业、制造业等&#xff0c;各行各业都在依托互联网大数据&#xff08;数据采集、数据存储、…...

qiankun子应用静态资源404问题有效解决(涉及 css文件引用图片、svg图片无法转换成 base64等问题)

在&#x1f449;&#x1f3fb; qiankun微前端部署&#x1f448;&#x1f3fb;这个部署方式的前提下&#xff0c;遇到的问题并解决问题的过程 最开始的问题现象 通过http请求本地的静态json文件404css中部分引入的图片无法显示 最开始的解决方式 在&#x1f449;&#x1f3…...

Python基础(二十九、pymsql)

文章目录 一、安装pymysql库二、代码实践1.连接MySQL数据库2.创建表格3.插入数据4.查询数据5.更新数据6.删除数据 三、完整代码示例四、结论 使用Python的pymysql库可以实现数据存储&#xff0c;这是一种连接MySQL数据库的方式。在本篇文章中&#xff0c;将详细介绍如何使用pym…...

华为机考入门python3--(0)测试题1-句子平均重量

分类&#xff1a;字符串 知识点&#xff1a; 获取输入 input().strip().split(" ") 拼接列表 " ".join(list) 输出指定位数的浮点数 print("%.2f" % value) len() 函数对于很多内置的数据类型都适用&#xff0c;它返回对象的元素个数或长度。…...

Linux--基础开发工具篇(1)(yum)

1.Linux 软件包管理器 yum 1.1yum是什么&#xff1f;什么是软件包&#xff1f; yum是什么&#xff1f; yum是一个软件下载安装管理的一个客户端&#xff0c;就如小米应用商店&#xff0c;华为应用商城。 Linux中软件包可能有依赖关系--yum会帮助我们解决依赖关系的问题。 什么是…...

循环测试之旅——深度解析Pytest插件 pytest-repeat

在软件开发中,测试的重要性不言而喻。而为了提高测试的鲁棒性和可靠性,Pytest插件 pytest-repeat 应运而生。这个插件可以帮助你轻松实现测试用例的循环运行,以更全面地评估代码的稳定性。本文将深入介绍 pytest-repeat 插件的基本用法和实际案例,助你更好地利用循环测试,…...

中国建设银行网站下载/对网站外部的搜索引擎优化

前言 转载自&#xff1a;https://blog.csdn.net/wangzibai/article/details/115283755 场景 在学习谷粒商城的过程中&#xff0c;我这边使用的springboot 版本和spring cloud版本比较高&#xff0c;所以一些配置不一样。 我这边springboot版本是2.5.0&#xff0c;spring cloud版…...

wordpress导出图片/南京网站设计优化公司

#Html今日学习内容这是第一次#x{width: 100px;height: 400px;}#f{width: 100px;height:50px;}.bordered {border-style:solid;color:red;}.yoxixi {color:red;text-decoration:underline;font-weight:bold;}锚点标题一我很快乐&#xff0c;我很喜欢&#xff0c;很愉悦。标题二我…...

2023河南疫情最新情况/苏州关键词优化搜索排名

1. 选中模拟器&#xff0c;在屏幕上方的菜单中找到Hardware->Keyboard 2. 直接快捷键shift&#xff0b;command&#xff0b;k 转载于:https://www.cnblogs.com/davidgu/p/4605672.html...

wordpresscom下载/口碑营销的概念是什么

http://www.hankcs.com/nlp/hmm-and-segmentation-tagging-named-entity-recognition.html HMM&#xff08;隐马尔可夫模型&#xff09;是用来描述隐含未知参数的统计模型&#xff0c;举一个经典的例子&#xff1a;一个东京的朋友每天根据天气{下雨&#xff0c;天晴}决定当天的…...

wordpress调用自定义文章类型文章/短视频赚钱app软件

输入指定内容整行自动变颜色如图是一个统计数据的表格&#xff0c;我们要做的是让部门列(B列)输入策划部的行自动变为蓝色。WPS表格技巧—输入指定内容整行自动变颜色待输入数据的表格首先我们选中整个表格&#xff0c;单击开始—-条件格式—-突出显示单元格规则—-其他规则。W…...

做彩票游戏网站违法吗/北京关键词优化报价

一、 体系架构&#xff1a; 前端两台服务器作 LVS 负载均衡&#xff0c;两台是为了作双机热备使用&#xff08;可以为多台&#xff09;。后端两台服务器&#xff08;可以为多台&#xff09;&#xff0c;作业务使用&#xff0c;客户端通过负载均衡后&#xff0c;将连接 ( 以 …...