java 常⽤的线程池模式ScheduledThreadPool


用于定时或周期性地执行任务。
可以设置任务的延迟执行时间或执行周期。
使用场景:适用于需要定时执行任务的应用程序,如定时清理缓存、定时发送邮件等。

import java.util.concurrent.Executors;  
import java.util.concurrent.ScheduledExecutorService;  
import java.util.concurrent.TimeUnit;  
  
public class ScheduledThreadPoolExample {  
    public static void main(String[] args) {  
        // 创建一个定时线程池,包含一个线程  
        ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);  
  
        // 提交一个任务给线程池执行,每隔2秒执行一次  
        executorService.scheduleAtFixedRate(new Runnable() {  
            @Override  
            public void run() {  
                System.out.println(Thread.currentThread().getName() + "开始执行任务");  
                processTask();  
                System.out.println(Thread.currentThread().getName() + "结束执行任务");  
            }  
        }, 0, 2, TimeUnit.SECONDS);  
  
        // 关闭线程池  
        executorService.shutdown();  
    }  
  
    private static void processTask() {  
        try {  
            Thread.sleep(1000); // 模拟任务执行时间  
        } catch (InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}

在这个例子中,我们创建了一个定时线程池,包含一个线程。我们提交了一个任务给线程池执行,并设置了任务的执行间隔为2秒。由于使用了scheduleAtFixedRate方法,任务会按照固定的频率执行,每隔2秒执行一次。最后,我们关闭了线程池。需要注意的是,定时线程池适用于需要定期执行的任务,如定时任务、周期性任务等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

excel统计分析——两因素有重复方差分析

参考资料:生物统计学 无重复观测值的两因素方差分析只能研究两个因素的主效应,不能考察因素间的交互作用,只有在确定因素间不存在交互作用时才能进行无重复观测值的试验和分析。为了准确估计因素的主效应、交互作用和随机误差,每个…

K8S学习指南(66)-CRD介绍

文章目录 引言什么是自定义资源定义(CRD)?CRD 对于 Kubernetes 的意义1. 定制资源类型2. 统一管理3. 更好的扩展性4. 与生态系统集成 如何使用 CRDCRD 的规范详解1. apiVersion 和 kind2. metadata.name3. spec.group 和 spec.versions4. spe…

061:vue中通过map修改一维数组,增加一些变量

第061个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

K8S-应用部署

1 应用管理解读 2 应用部署实践 资源对象管理关系 资源对象管理实践 手工方式: kubectl run pod名称 --imageimage地址资源清单方式: apiVersion: v1 kind: Pod metadata:labels:run: my-podname: my-pod spec:containers:- image: kubernetes-register.sswang.co…

Ubuntun构建本地源详细教程

联网主机上下载软件包并打包 首先使用一台已连接互联网的同版本ubuntu主机添加国内镜像源 mv /etc/apt/sources.list /etc/apt/sources.list.bak vim /etc/apt/sources.list# 写入下面的内容: deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiv…

jenkins安装报错:No such plugin: cloudbees-folder

jenkins安装报错:No such plugin: cloudbees-folder 原因是缺少cloudbees-folder.hpi插件 解决: 一,重新启动 http://xxx:8800/restart 二,跳到重启界面时,点击系统设置 三,找到安装插件,然…

1-03C语言超基础语法

一、概述 为了更好的进行后续的课程,避免出现"老师,我还没学过的东西,你怎么直接用?"诸如此类疑问,本小节就诞生了。 实际上,整个第一个大章节的所有小节都是"C语言基础语法"&#x…

【js逆向】爬虫之进程,线程,协程

目录 1、进程 1.1 进程定义 1.2 创建进程 1.2.1 创建单个进程 1.2.2 进程池 2、线程 2.1 线程定义 2.2 创建线程 2.2.1 创建单个线程 2.2.2 线程池

C/C++ 枚举

目录 枚举概述 枚举的使用 枚举的大小计算 枚举的优点 C语言中的自定义类型有:结构 位段 枚举 联合 枚举概述 枚举顾名思义就是一一列举,把可能的取值一一列举。 比如我们现实生活中:一周的星期一到星期日是有限的7天&#xff0c…

动手学深度学习之卷积神经网络之池化层

池化层 卷积层对位置太敏感了,可能一点点变化就会导致输出的变化,这时候就需要池化层了,池化层的主要作用就是缓解卷积层对位置的敏感性 二维最大池化 这里有一个窗口,来滑动,每次我们将窗口中最大的值给拿出来 还是上…

【REST2SQL】02 GO连接Oracle数据库

Oracle数据库我用的最多,先研究Oracle,Go连接Oracle并实现REST和SQL服务。 1 Oracle数据库的安装 我这里安装使用的是Oracle 11g , 安装过程省略5217字。 2 安装Go-ora依赖 go get github.com/sijms/go-ora/v2 安装成功后在GOPATH目录可见: 3 创建一…

python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 题外话: 由于发送邮件的时候需要: 开通STMP的邮件功能邮件授权码需要写正确端口号也需要写正确而且在测试163 或者 qq邮箱服务器的时候,都能正确发送 但是换成公司邮件的时候,使用公司的域名会出现发送失败! 对于补充的知…

Spring MVC之HandlerMapping

1. 前言 Spring MVC将请求处理器定义为handler,因为handler可以以很多形式存在,所以Spring并没有限制handler的类型,用Object来表示。然后又因为这个原因,Spring MVC针对不同的handler设计了不同的HandlerAdapter来协调handler处…

基于ElementUI封装的下拉树选择可搜索单选多选清空功能

效果&#xff1a; 组件代码 /*** 树形下拉选择组件&#xff0c;下拉框展示树形结构&#xff0c;提供选择某节点功能&#xff0c;方便其他模块调用* author wy* date 2024-01-03 * 调用示例&#xff1a;* <tree-select * :height"400" // 下拉框中树形高度* …

【数据结构】二叉树的概念及堆

前言 我们已经学过了顺序表、链表、栈和队列这些属于线性结构的数据结构&#xff0c;那么下面我们就要学习我们第一个非线性结构&#xff0c;非线性结构又有哪些值得我们使用的呢&#xff1f;那么接下来我们就将谈谈树的概念了。 1.树的概念与结构 1.1树的概念 树是一种非线性…

python数据可视化之折线图案例讲解

学习完python基础知识点&#xff0c;终于来到了新的模块——数据可视化。 我理解的数据可视化是对大量的数据进行分析以更直观的形式展现出来。 今天我们用python数据可视化来实现一个2023年三大购物平台销售额比重的折线图。 准备工作&#xff1a;我们需要下载用于生成图表的第…

2024苹果Mac电脑免费文件数据恢复软件EasyRecovery

EasyRecovery是一个操作安全、价格便宜、用户自主操作的非破坏性的只读应用程序&#xff0c;它不会往源驱上写任何东西&#xff0c;也不会对源驱做任何改变&#xff01;EasyRecovery是一个操作安全、价格便宜、用户自主操作的非破坏性的只读应用程序&#xff0c;它不会往源驱上…

Android 15即将到来,或将推出5大新功能特性

Android15 OneUI电池优化 三星最近完成了对其所有设备的稳定版 One UI 6.0 更新的推出&#xff0c;引起了用户的极大兴奋。据新出现的互联网统计数据显示&#xff0c;即将发布的基于 Android 15 的 One UI 7 将通过优化电池和功耗来重新定义用户体验&#xff0c;这是一项具有突…

【开源项目】WPF 扩展组件 -- Com.Gitusme.Net.Extensiones.Wpf

一、项目简介 Com.Gitusme.Net.Extensiones.Wpf 是一款 Wpf 扩展组件。基于.Net Core 3.1 开发&#xff0c;当前最新 1.0.1 版本。包含 核心扩展库&#xff08;Com.Gitusme.Net.Extensiones.Core&#xff09;、视频渲染&#xff08;Com.Gitusme.Media.Video&#xff09;、串口…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)线程池的启动和从线程池中取出一个反应堆实例

一、线程池的启动 &#xff08;主线程&#xff09; // 启动线程池 &#xff08;主线程&#xff09; void threadPoolRun(struct ThreadPool* pool) {/*线程池被创建出来之后&#xff0c;接下来就需要让线程池运行起来&#xff0c;其实就是让线程池里的若干个子线程运行起来*//…