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

java 常⽤的线程池模式FixedThreadPool

java 常⽤的线程池模式FixedThreadPool


线程池中的线程数量是固定的。
当提交一个新任务时,如果线程池中的线程都在运行,新任务就会被放入任务队列中等待执行。
如果线程池中的所有线程都在运行,且任务队列已满,那么线程池会创建新的线程来处理新任务。
使用场景:适用于执行大量计算任务的应用程序,如大数据处理、科学计算等。

import java.util.concurrent.ExecutorService;  
import java.util.concurrent.Executors;  
  
public class FixedThreadPoolExample {  
    public static void main(String[] args) {  
        // 创建一个固定大小的线程池,包含5个线程  
        ExecutorService executorService = Executors.newFixedThreadPool(5);  
  
        // 提交10个任务给线程池执行  
        for (int i = 0; i < 10; i++) {  
            Runnable worker = new WorkerThread("" + i);  
            executorService.execute(worker);  
        }  
  
        // 关闭线程池  
        executorService.shutdown();  
    }  
}  
  
class WorkerThread implements Runnable {  
    private String command;  
  
    public WorkerThread(String command) {  
        this.command = command;  
    }  
  
    @Override  
    public void run() {  
        System.out.println(Thread.currentThread().getName() + "开始处理:" + command);  
        processCommand();  
        System.out.println(Thread.currentThread().getName() + "结束处理:" + command);  
    }  
  
    private void processCommand() {  
        try {  
            Thread.sleep(2000);  
        } catch (InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}

在这个例子中,我们创建了一个固定大小为5的线程池,并提交了10个任务给线程池执行。由于线程池的大小是固定的,当线程池中的线程都在运行且任务队列已满时,新任务会被拒绝。因此,这个例子中,只有5个任务会被执行,其他任务会被拒绝。最后,我们关闭了线程池。

相关文章:

java 常⽤的线程池模式FixedThreadPool

java 常⽤的线程池模式FixedThreadPool 线程池中的线程数量是固定的。 当提交一个新任务时&#xff0c;如果线程池中的线程都在运行&#xff0c;新任务就会被放入任务队列中等待执行。 如果线程池中的所有线程都在运行&#xff0c;且任务队列已满&#xff0c;那么线程池会创建新…...

双机调度算法

假设当前有两个处理机A、B&#xff0c;以及n个待处理的任务。第i个任务在处理处理机A上处理需要的时间为ai&#xff0c;在处理机B上处理的时间为bi&#xff0c;两个处理机可以并行处理任务&#xff0c;但单个处理机不能同时执行任务。要求给定n个任务及各个任务对应的ai 、bi&a…...

精进单元测试技能——Pytest断言的艺术

本篇文章主要是阐述Pytest在断言方面的应用。让大家能够了解和掌握Pytest针对断言设计了多种功能以适应在不同测试场景上使用。 了解断言的基础 在Pytest中&#xff0c;断言是通过 assert 语句来实现的。简单的断言通常用于验证预期值和实际值是否相等&#xff0c;例如&#xf…...

探索人工智能:深度学习、人工智能安全和人工智能

深度学习是人工智能的一种重要技术&#xff0c;它模拟了人类大脑神经网络的工作原理&#xff0c;通过建立多层次的神经元网络来实现对数据的分析和处理。这种技术的引入使得人工智能的发展进入到了一个新的阶段。 现如今&#xff0c;深度学习在各个领域都有着广泛的应用。例如…...

CHS_02.1.4+操作系统体系结构 二

CHS_02.1.4操作系统体系结构 二 操作系统的结构 上篇文章我们只介绍过宏内核 也就是大内核以及微内核分层结构的操作系统模块化是一种很经典的程序设计思想宏内核和微内核外核 操作系统的结构 上篇文章我们只介绍过宏内核 也就是大内核以及微内核 今年大纲又增加了分层结构 模块…...

【python可视化大屏】使用python实现可拖拽数据可视化大屏

介绍&#xff1a; 我在前几期分享了关于爬取weibo评论的爬虫&#xff0c;同时也分享了如何去进行数据可视化的操作。但是之前的可视化都是单独的&#xff0c;没有办法在一个界面上展示的。这样一来呢&#xff0c;大家在看的时候其实是很不方便的&#xff0c;就是没有办法一目了…...

FineBI实战项目一(4):指标分析之每日订单总额/总笔数

1 明确数据分析目标 统计每天的订单总金额及订单总笔数 2 创建用于保存数据分析结果的表 use finebi_shop_bi;create table app_order_total(id int primary key auto_increment,dt date,total_money double,total_cnt int ); 3 编写SQL语句进行数据分析 selectsubstring(c…...

如何确定CUDA对应的pytorch版本?

参考&#xff1a;此链接...

分布式锁3: zk实现分布式锁5 使用中间件curator

一 curator的说明 1.1 curator的说明 curator是netflix公司开源的一个zk客户端。对Zookeeper提供的原生客户端进行封装&#xff0c;简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开发工作&#xff0c;包括连接重连、反复注册wathcer和Node…...

扩展边界opencv

扩展图像的边缘&#xff08;如上边增加50像素&#xff09;通常是通过添加额外的像素行来实现的 使用cv2.copyMakeBorder函数 valueborder_color指定了边框的颜色 import cv2 import numpy as np# 读取图像 image cv2.imread(th.jpg)# 设置边框宽度 top_border_width 50 # …...

开源C语言库Melon:Cron格式解析

本文介绍开源C语言库Melon的cron格式解析。 关于 Melon 库&#xff0c;这是一个开源的 C 语言库&#xff0c;它具有&#xff1a;开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 cron也就是我们常说的Crontab中的时间格式&#xff0c;格式如…...

vue的学习方法

学习Vue.js的方法如下&#xff1a; 先了解基本概念和语法&#xff1a;学习Vue.js的第一步是了解它的基本概念&#xff0c;例如组件、指令、数据绑定等。你可以开始阅读Vue官方文档并参考教程和示例来掌握这些基本概念和语法。 实践项目&#xff1a;在理解了Vue.js的基本概念和…...

Hive之set参数大全-2

C 指定是否启用表达式缓存的评估 hive.cache.expr.evaluation 是 Hive 中的一个配置属性&#xff0c;用于指定是否启用表达式缓存的评估。表达式缓存是一项优化技术&#xff0c;它可以在执行查询时缓存表达式的评估结果&#xff0c;以减少计算开销。 在 Hive 配置中&#xf…...

C++面试宝典第17题:找规律填数

题目 仔细观察下面的数字序列,找到规律,并填写空白处的数字。 (1)1, 2, 4, 7, 11, 16, __ (2)-1, 2, 7, 28, __, 126 (3)6, 10, 18, 32, 57, __ (4)19, 6, 1, 2, 11, __ (5)2, 3, 5, 7, 11, __ (6)1, 8, 9, 4, __, 1/6 (7)1, 2, 3, 7, 16, __, 321 (8)1, 2, …...

ubuntu查看内存使用情况

在Ubuntu中&#xff0c;你可以使用一些命令来查看内存使用情况。这些命令可以帮助你了解系统的内存使用情况&#xff0c;包括已用内存、空闲内存、缓存和缓冲区的内存等。 1、使用free命令 free命令是一个非常有用的命令&#xff0c;可以快速查看系统的内存使用情况。在终端中…...

ES6 新增 Set、Map 两种数据结构的理解

ES6 新增 Set、Map 两种数据结构的理解 Set 是一种叫做集合的数据结构&#xff0c; 集合是由一堆无序的、相关联的 , 且不重复的内存结构【 数学中称为元素 】组成的组合&#xff1b; Map 是一种叫做字典的数据结构 字典是一些元素的集合 。每个元素有一个称作 key 的域 , 不同…...

影视视频知识付费行业万能通用网站系统源码,三网合一,附带完整的安装部署教程

在数字化时代&#xff0c;知识付费行业逐渐成为主流。人们对高质量内容的需求日益增长&#xff0c;越来越多的人愿意为有价值的知识和信息服务付费。为了满足这一市场需求&#xff0c;罗峰给大家分享一款全新的影视视频知识付费网站系统源码&#xff0c;为用户提供一站式的知识…...

Java字符串拼接常用方法总结

使用场景&#xff1a;用某个分隔符拼接字符串 下边是我使用过的几种方式废话不多说&#xff0c;直接上代码初始数据 1.使用流2.StringBuilder3.[StringJoiner](https://blog.csdn.net/qq_43417581/article/details/126076152?ops_request_misc%257B%2522request%255Fid%2522%2…...

【2023 CSIG垂直领域大模型】大模型时代,如何完成IDP智能文档处理领域的OCR大一统?

目录 一、像素级OCR统一模型&#xff1a;UPOCR1.1、为什么提出UPOCR&#xff1f;1.2、UPOCR是什么?1.2.1、Unified Paradigm 统一范式1.2.2、Unified Architecture统一架构1.2.3、Unified Training Strategy 统一训练策略 1.3、UPOCR效果如何&#xff1f; 二、OCR大一统模型前…...

Phi-2小语言模型QLoRA微调教程

前言 就在不久前&#xff0c;微软正式发布了一个 27 亿参数的语言模型——Phi-2。这是一种文本到文本的人工智能程序&#xff0c;具有出色的推理和语言理解能力。同时&#xff0c;微软研究院也在官方 X 平台上声称&#xff1a;“Phi-2 的性能优于其他现有的小型语言模型&#…...

hadoop自动获取时间

1、自动获取前15分钟 substr(from_unixtime(unix_timestamp(concat(substr(20240107100000,1,4),-,substr(20240107100000,5,2),-,substr(20240107100000,7,2), ,substr(20240107100000,9,2),:,substr(20240107100000,11,2),:,00))-15*60,yyyyMMddHHmmss),1) unix_timestam…...

【面试高频算法解析】算法练习8 单调队列

前言 本专栏旨在通过分类学习算法&#xff0c;使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目&#xff0c;帮助您深度理解每种算法&#xff0c;避免出现刷了很多算法题&#xff0c;还是一知半解的状态 专栏导航 二分查找回溯&#xff08;Backtracking&…...

ATTCK视角下的信息收集:Sysmon检测

目录 1、简介 2、使用Sysmon 3、检测Sysmon是否安装运行 4、检测Sysmon是否被卸载 5、使Sysmon在终端隐匿运行的技术 1、简介 Sysmon&#xff08;系统监视器&#xff09;是由windows sysinternals 出品的Sysinternals 系列工具中的一个 它是windows系统服务和设备驱动程…...

02、Kafka ------ 配置 Kafka 集群

目录 配置 Kafka 集群配置步骤启动各Kafka节点 配置 Kafka 集群 启动命令&#xff1a; 1、启动 zookeeper 服务器端 小黑窗输入命令&#xff1a; zkServer 2、启动 zookeeper 的命令行客户端工具 &#xff08;这个只是用来看连接的节点信息&#xff0c;不启动也没关系&#…...

2024年全球网络安全预测报告

1.Gartner Gartners Top Strategic Predictions for 2024 and Beyond《Gartner顶级战略预测&#xff1a;2024年及未来》 https://www.gartner.com/en/articles/gartner-s-top-strategic-predictions-for-2024-and-beyond 2.IDC Top 10 Worldwide IT Industry 2024 Predict…...

Qt - QML与C++数据交互详解

文章目录 1 . 前言2 . Qml调用C的变量3 . Qml调用C的类4 . Qml调用C的方法5 . Qml接收C的信号6 . C接收Qml的信号&#xff08;在Qml中定义信号槽&#xff09;7 . C接收Qml的信号&#xff08;在C中定义信号槽&#xff09;8 . C调用Qml的函数9 . 总结 【极客技术传送门】 : https…...

Kettle Local引擎使用记录(一)(基于Kettle web版数据集成开源工具data-integration源码)

Kettle Web &#x1f4da;第一章 前言&#x1f4da;第二章 demo源码&#x1f4d7;pom.xml引入Kettle引擎核心文件&#x1f4d7;java源码&#x1f4d5; controller&#x1f4d5; service&#x1f4d5; 其它&#x1f4d5; maven settings.xml &#x1f4d7;测试&#x1f4d5; 测试…...

Java--业务场景:在Spring项目启动时加载Java枚举类到Redis中(补充)

文章目录 前言步骤测试结果 前言 通过Java–业务场景&#xff1a;在Spring项目启动时加载Java枚举类到Redis中,我们成功将Java项目里的枚举类加载到Redis中了&#xff0c;接下来我们只需要写接口获取需要的枚举值数据就可以了&#xff0c;下面一起来编写这个接口吧。 步骤 在…...

WPF 基础入门(资源字典)

资源字典 每个Resources属性存储着一个资源字典集合。如果希望在多个项目之间共享资源的话&#xff0c;就可以创建一个资源字典。资源字段是一个简单的XAML文档&#xff0c;该文档就是用于存储资源的&#xff0c;可以通过右键项目->添加资源字典的方式来添加一个资源字典文件…...

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑电氢耦合和碳交易的电氢能源系统置信间隙鲁棒规划》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这标题涉及到一个复杂的能源系统规划问题&#xff0c;其中考虑了电氢耦合、碳交易和置信间隙鲁棒规划。以下是对标题各个部分的解读&#xff1a; 电氢耦…...

做网站费用上海/百度打开百度搜索

在Tableadapter里面用%x%&#xff0c;应该是不行的&#xff0c;经过了测试&#xff0c; 有两种解决办法&#xff0c; 1种是&#xff1a;通过存储过程&#xff0c;参见&#xff1a; http://forums.asp.net/t/1390313.aspx 1种是通过类似&#xff0c;WHERE CharIndex(x, book_inf…...

网站流量下滑/今日头条普通版

做工作都有需求在推动着我们&#xff0c;需求都需要强大的技术和分析能力做支撑&#xff0c;工欲善其事&#xff0c;必先利其器。在数据分析的过程中&#xff0c;我们需要针对不同用户的分析需求&#xff0c;去提供不同的分析模块、不同的模型&#xff0c;这些都需要有专业的分…...

前端学校网站开发视频教程/推广普通话手抄报内容怎么写

经常在博客见到一个争论不休的话题——到底该不该学php&#xff1f;是学java、donet还是php&#xff1f;本文不讨论PHP、JSP、ASP.NET/ASP 孰优孰劣&#xff0c;有那功夫劲&#xff0c;还不如搭建个环境动手试试&#xff0c;毕竟存在即道理&#xff0c; 百度、腾讯、新浪、搜狐…...

西安做网站-西安网站建设-西安网站制作-西安网络公司_千秋网络/seo搜索引擎推广什么意思

为什么分 在正式开始之前&#xff0c;菜菜还是要强调一点&#xff0c;你的数据表是否应该分&#xff0c;需要综合考虑很多因素&#xff0c;比如业务的数据量是否到达了必须要切分的数量级&#xff0c;是否可以有其他方案来解决当前问题&#xff1f;我不止一次的见过&#xff0c…...

网站空间 虚拟主机/中国免费网站服务器下载

爬虫现在的火热程度我就不说了&#xff0c;先说一下这门技术能干什么事儿&#xff0c;主要为以下三方面&#xff1a; 1.爬取数据&#xff0c;进行市场调研和商业分析 爬取知乎、豆瓣等网站的优质话题内容&#xff1b;抓取房产网站买卖信息&#xff0c;分析房价变化趋势、做不…...

惠州最专业的网站建设公司/北京网站优化体验

给 iOS 应用添加推送功能是一件比较麻烦的事情&#xff0c;本篇文章收集了集成 jpush-react-native 的常见问题&#xff0c;目的是为了帮助用户更好的排查问题 1. 收不到推送 确保是在真机上测试&#xff0c;而不是在模拟器自己的应用已经在 Apple developer 给应用配置推送功能…...