定时调度的线程池

定时调度线程池

当我们需要定时进行线程的调度

@Slf4j
public class Test5 {
    public static void main(String[] args) {
        Timer timer = new Timer();
        log.debug("开始了");
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                log.debug("hello");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        },1000);
    }
}

这样线程不是异步执行的,相当于一个线程执行两个任务,而不是两个线程同时执行,不好。

定时调度的线程池,对于API不过多赘述,感觉这种还得看源码学场景,而且基本上线程池都是自己定义不使用JDK自带的。他这个就是阻塞队列是无限大的,当请求太多了就会出现OOM。

@Slf4j
public class Test6 {

    public static void main(String[] args) {
        ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(2);
        log.debug("开始");
        scheduledExecutorService.schedule(()->{
            log.debug("进行调度咯");
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        },1, TimeUnit.SECONDS);
        scheduledExecutorService.scheduleAtFixedRate(()->{
            log.debug("鸡汤来喽");
        },1,1,TimeUnit.SECONDS);
    }

}

对于处理线程池中的线程异常,对于以下情况

scheduledExecutorService.schedule(()->{
    log.debug("进行调度咯");
    int i = 1 / 0;   // 出现错误,但是运行时却不会抛出异常。
    try {
        Thread.sleep(2000);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
},1, TimeUnit.SECONDS);

在线程池中的线程出现错误,但是并不会在控制台打印异常。

解决方法

  • 在线程中进行try catch处理异常打印出来
  • 使用Callable接口,对于返回的Future

Original: https://www.cnblogs.com/duizhangz/p/16260032.html
Author: 大队长11
Title: 定时调度的线程池

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599423/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • pytest中pytest_cache文件夹作用

    跑自动化时经常会出现这样一个情况,一轮自动化跑完后零星出现了几个失败case,无法断定失败的原因,所以需要重新跑一下失败的case去debug,那我们要做的是就去修改脚本把那几个c…

    数据库 2023年6月11日
    060
  • Java编程作业

    1、编程题 设计一个用户类User,类中的变量有用户名、密码和记录用户数量的变量,定义3个构造方法:无参的、为用户名赋值的、为用户名和密码赋值的,还有获取和设置密码的方法和返回类信…

    数据库 2023年6月11日
    083
  • windows下使用pm2守护进程对laravel队列进行管理

    我们都知道在使用laravel的消息队列时,都需要一个守护进程对其进行管理 否则在服务器重启或者其他异常都会导致队列中断从而功能失效 当然,大部分项目都是在linux下运行,则可以…

    数据库 2023年6月14日
    088
  • Mac IDEA 最常用快捷键(详解版)

    学习背景 公司同事让我提供一个简单的 rpc 接口,然后他坐在我旁边看着我写,写的过程中他不断打断我,比如我在代码换行时,如果光标不在下一行行首或者这行的行尾,我就会先移动光标到行…

    数据库 2023年6月6日
    086
  • jspdf.js+html2canvas将HTMl导出PDF

    jspdf.js+html2canvas将HTMl导出PDF 功能: PDF分页插入页头页尾 输出A4格式PDF 支持单页、多页输出 效果预览:查看演示PDFdemo地址:demo…

    数据库 2023年6月11日
    0109
  • MySQL知识点大全!!

    使用PreStatement对象: public int execUpdate(String sql, Object[] parms) { int count = 0; try {…

    数据库 2023年5月24日
    083
  • mysql数据库 Window下安装

    关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据 库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数 …

    数据库 2023年6月9日
    096
  • 3. 视图-触发器-存储过程-索引

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月16日
    072
  • zabbix监控配置流程

    zabbix监控配置流程 管理层次: 开发人员要加监控,需要让其提供监控指标运营人员要加监控,让其找开发要监控指标运维人员要加监控,让运营人员去找开发要监控指标。 配置层次: 1….

    数据库 2023年6月14日
    086
  • python 学习笔记(十二)–Django 基本知识点小结

    构造函数格式: 作用: 向客户端浏览器返回相应,同时携带响应体内容。 参数: –content:表示返回的内容。 –status_code:返回的HTTP响…

    数据库 2023年6月16日
    081
  • Figma 快捷键

    作用 WINDOWS MAC 窗口切换到Home Ctrl + 1 Cmd + 1 窗口切换到打开的第一个文件 Ctrl + 2 Cmd + 2 打开菜单搜索 Ctrl + / C…

    数据库 2023年6月6日
    087
  • fiddler相关随笔(网络异常、证书问题、配置代理)

    fiddler中遇到的坑 最近用fiddler实在是太频繁,经常开关,也不清理之前的代理配置,导致很多时候,电脑连不上网,大概有以下场景 * fiddler提示某网站要求上传相关证…

    数据库 2023年6月6日
    086
  • MySQL&MariaDB数据库备份脚本

    MySQL&MariaDB数据库备份脚本 MySQL&MariaDB数据库备份脚本 MySQL & MariaDB .bat backup.sh MySQL…

    数据库 2023年6月9日
    079
  • Mybatis-Plus使用 ORDER BY FIELD

    一、Mybatis-Plus使用 ORDER BY FIELD 如图所示 两张仅有一个字段关联的表,商品表想用活动商品表查出来的顺序去查商品可以使用以下方法(不想去XML写Sql的…

    数据库 2023年6月6日
    086
  • NO.5 MySQL-笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    066
  • ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@’localhost’

    发现网上很多帖子都是互相抄袭的,关键是不能解决执行后的问题,在这里分享我的解决方案。 [En] Found a lot of posts on the Internet are c…

    数据库 2023年5月24日
    095
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球