所以答案的第一部分是如何做主题要求的事情,因为这是我最初对它的解释,有几个人似乎觉得很有帮助。这个问题后来被澄清了,我已经扩展了答案来解决这个问题。

设置计时器

首先,您需要创建一个计时器(我使用的是java.util(此处版本):import java.util.Timer;

..Timer timer = new Timer();

若要运行该任务,请执行以下操作:timer.schedule(new TimerTask() {

@Override

public void run() {

// Your database code here

}}, 2*60*1000);// Since Java-8timer.schedule(() -> /* your database code here */, 2*60*1000);

若要在要执行的持续时间后重复任务,请执行以下操作:timer.scheduleAtFixedRate(new TimerTask() {

@Override

public void run() {

// Your database code here

}}, 2*60*1000, 2*60*1000);// Since Java-8timer.scheduleAtFixedRate(() -> /* your database code here */, 2*60*1000, 2*60*1000);

使任务超时

要具体地执行已澄清的问题,即尝试在给定时间内执行一项任务,可以执行以下操作:ExecutorService service = Executors.newSingleThreadExecutor();try {

Runnable r = new Runnable() {

@Override

public void run() {

// Database task

}

};

Future> f = service.submit(r);

f.get(2, TimeUnit.MINUTES);     // attempt the task for two minutes}catch (final InterruptedException e) {

// The thread was interrupted during sleep, wait or join}catch (final TimeoutException e) {

// Took too long!}catch (final ExecutionException e) {

// An exception from within the Runnable task}finally {

service.shutdown();}

如果任务在2分钟内完成,这将正常执行,异常情况除外。如果运行时间超过该时间,则抛出TimeoutException。

一个问题是,尽管两分钟后你会得到一个TimeoutException,该任务实际上将继续运行。,虽然推测数据库或网络连接最终会超时并在线程中抛出异常。但要注意,在这种情况发生之前,它可能会消耗资源。

java 定时器时间设置_如何在Java中设置定时器?相关推荐

  1. 解析outlook邮件设置_如何在Outlook中设置电子邮件的优先级

    解析outlook邮件设置 Most of us receive a lot of email and important messages may get overlooked in our lon ...

  2. word如何设置上标形式_如何在word中设置特殊页码

    获取更多业界资讯和深度好文● 点击蓝字关注我们 ● 在日常工作中,我们编辑的word文档经常需要设置页码,但有时文档的第一页是封面,第二页才是正文,或者第二页是目录,第三页才是正文,如下图所示,而页码 ...

  3. aws中部署防火墙_如何在AWS中设置自动部署

    aws中部署防火墙 by Harry Sauers 哈里·绍尔斯(Harry Sauers) 如何在AWS中设置自动部署 (How to set up automated deployment in ...

  4. linux中设置环境变量_如何在Linux中设置环境变量

    linux中设置环境变量 Wondering how to set environment variables in Linux? This is exactly what we'll be doin ...

  5. html字体怎么设置大写,如何在html中设置字体的属性

    如何在html中设置字体的属性 发布时间:2021-06-08 17:45:33 来源:亿速云 阅读:72 作者:Leah 这篇文章给大家介绍如何在html中设置字体的属性,内容非常详细,感兴趣的小伙 ...

  6. java安卓计时器_如何在android中设置计时器

    通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...

  7. java 千位分隔符_如何在Java中设置千位分隔符?

    问题 如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String. #1 热门回答(180 赞) 你可以使用格式功能","; ...

  8. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

    java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...

  9. java 精确到微妙_如何在Java中以微秒精度测量时间?

    我在Internet上看到应该使用System.nanoTime(),但这对我不起作用-它为我提供了毫秒级的时间.我只需要函数执行前后的微秒,就可以知道需要多长时间.我正在使用Windows XP. ...

  10. java swing 列表框_如何在Swing中使用列表框?

    下面的示例展示了如何在Java Swing应用程序中使用标准列表框. 使用以下API - JList - 创建标准列表. JList.setSelectedIndex(index); - 选择项目. ...

最新文章

  1. 如何配置FastReport.Net环境
  2. 初识JavaScript Promises
  3. 支付宝支付 第六集:生成支付二维码
  4. Git使用汇总之工作区、暂存区、版本库
  5. 绘制pr曲线图_生存分析如何绘制事件发生累计概率曲线图?
  6. Django 使用 HttpResponse 返回 json 字符串显示 Unicode 编码
  7. 作为 IT 行业的过来人,你有什么话想对后辈说的?
  8. 作者:周涛,博士,北京启明星辰信息安全技术有限公司教授级高工。
  9. 浅谈js函数三种定义方式 四种调用方式 调用顺序
  10. vb.net 判断是否为ip 正则_什么是个人IP科学定位?标准答案来了|ip|直播|科学|ip魔方...
  11. Advanced.MP3.WMA.Recorder.v5.8.WinAll-CAT
  12. python阈值分割_Python实现otsu阈值分割算法
  13. AGM FPGA选型手册
  14. SoundPool工具类
  15. 微信小程序的点击、双击、长按事件
  16. 三十而立程序员天马行空的心理路程(迷茫/焦虑)
  17. 微信小程序注册流程详解
  18. 小米 信号测试软件,小米WiFi测试版
  19. “道可道,非常道”——千年孤独话老子
  20. 批量图片压缩的方法-免费批量无损压缩软件

热门文章

  1. stata_1_基本操作
  2. 开放式社交网络(OSN网络)之一:一个大龄失业程序员
  3. 基于强度传输方程的相位解包裹算法
  4. Bookdown搭配GitHubPages发布电子书
  5. 如何高效学习编程技术?
  6. Python字符串转换为小写字母
  7. 【FPGA教程案例39】通信案例9——基于FPGA的交织-解交织数据传输
  8. 千万级别数据表创建索引
  9. 【跳棋】跳棋游戏-多人游戏-微信小程序开发流程详解
  10. 矩形脉冲信号的频域分析_周期矩形脉冲信号的频谱分析.PPT