java 定时器时间设置_如何在Java中设置定时器?
所以答案的第一部分是如何做主题要求的事情,因为这是我最初对它的解释,有几个人似乎觉得很有帮助。这个问题后来被澄清了,我已经扩展了答案来解决这个问题。
设置计时器
首先,您需要创建一个计时器(我使用的是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中设置定时器?相关推荐
- 解析outlook邮件设置_如何在Outlook中设置电子邮件的优先级
解析outlook邮件设置 Most of us receive a lot of email and important messages may get overlooked in our lon ...
- word如何设置上标形式_如何在word中设置特殊页码
获取更多业界资讯和深度好文● 点击蓝字关注我们 ● 在日常工作中,我们编辑的word文档经常需要设置页码,但有时文档的第一页是封面,第二页才是正文,或者第二页是目录,第三页才是正文,如下图所示,而页码 ...
- aws中部署防火墙_如何在AWS中设置自动部署
aws中部署防火墙 by Harry Sauers 哈里·绍尔斯(Harry Sauers) 如何在AWS中设置自动部署 (How to set up automated deployment in ...
- linux中设置环境变量_如何在Linux中设置环境变量
linux中设置环境变量 Wondering how to set environment variables in Linux? This is exactly what we'll be doin ...
- html字体怎么设置大写,如何在html中设置字体的属性
如何在html中设置字体的属性 发布时间:2021-06-08 17:45:33 来源:亿速云 阅读:72 作者:Leah 这篇文章给大家介绍如何在html中设置字体的属性,内容非常详细,感兴趣的小伙 ...
- java安卓计时器_如何在android中设置计时器
通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...
- java 千位分隔符_如何在Java中设置千位分隔符?
问题 如何在Java中设置千位分隔符?我有BigDecimal的String表示,我想设置千位分隔符并返回String. #1 热门回答(180 赞) 你可以使用格式功能","; ...
- java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧
java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...
- java 精确到微妙_如何在Java中以微秒精度测量时间?
我在Internet上看到应该使用System.nanoTime(),但这对我不起作用-它为我提供了毫秒级的时间.我只需要函数执行前后的微秒,就可以知道需要多长时间.我正在使用Windows XP. ...
- java swing 列表框_如何在Swing中使用列表框?
下面的示例展示了如何在Java Swing应用程序中使用标准列表框. 使用以下API - JList - 创建标准列表. JList.setSelectedIndex(index); - 选择项目. ...
最新文章
- 如何配置FastReport.Net环境
- 初识JavaScript Promises
- 支付宝支付 第六集:生成支付二维码
- Git使用汇总之工作区、暂存区、版本库
- 绘制pr曲线图_生存分析如何绘制事件发生累计概率曲线图?
- Django 使用 HttpResponse 返回 json 字符串显示 Unicode 编码
- 作为 IT 行业的过来人,你有什么话想对后辈说的?
- 作者:周涛,博士,北京启明星辰信息安全技术有限公司教授级高工。
- 浅谈js函数三种定义方式 四种调用方式 调用顺序
- vb.net 判断是否为ip 正则_什么是个人IP科学定位?标准答案来了|ip|直播|科学|ip魔方...
- Advanced.MP3.WMA.Recorder.v5.8.WinAll-CAT
- python阈值分割_Python实现otsu阈值分割算法
- AGM FPGA选型手册
- SoundPool工具类
- 微信小程序的点击、双击、长按事件
- 三十而立程序员天马行空的心理路程(迷茫/焦虑)
- 微信小程序注册流程详解
- 小米 信号测试软件,小米WiFi测试版
- “道可道,非常道”——千年孤独话老子
- 批量图片压缩的方法-免费批量无损压缩软件