如何安排 Callable 在特定时间运行?

2024-01-26

我需要在一天中的特定时间运行可调用的。一种方法是计算现在与所需时间之间的时间差,并使用 executor.scheduleAtFixedRate。

有更好的主意吗?

executor.scheduleAtFixedRate(command, TIMEDIFF(now,run_time), period, TimeUnit.SECONDS))


对于这种事情,直接安装即可Quartz http://www.quartz-scheduler.org/。 EJB 对此类事情有一些支持,但实际上您只需要 Quartz 来执行计划任务。

话虽这么说,如果您坚持自己做(我建议不要这样做),请使用ScheduledThreadPoolExecutor http://java.sun.com/javase/6/docs/api/java/util/concurrent/ScheduledThreadPoolExecutor.html.

ScheduledExecutorService executor = new ScheduledThreadPoolExecutor(4);
ScheduledFuture<?> future =
  executor.scheduleAtFixedRate(runnable, 1, 24, TimeUnit.HOUR);

这将运行Runnable每天,最初延迟一小时。

Or:

Timer timer = new Timer();
final Callable c = callable;
TimerTask task = new TimerTask() {
  public void run() {
    c.call();
  }
}
t.scheduleAtFixedRate(task, firstExecuteDate, 86400000); // every day

Timer有一个更简单的界面,在 1.3 中引入(另一个是 1.5),但单个线程执行所有任务,而第一个线程允许您对其进行配置。加ScheduledExecutorService有更好的关闭(和其他)方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何安排 Callable 在特定时间运行? 的相关文章

  • 使用 Java 的 Apache Http 摘要身份验证

    我目前正在开发一个 Java 项目 但无法使 http 摘要身份验证正常工作 我尝试使用 Apache 网站 但没有帮助 我有一个需要 HTTP 摘要身份验证的网站 DefaultHttpClient httpclient new Defa
  • 使用 Tabula 通过 Python 读取 pdf 时出现 Java 错误

    我已经安装了 tabula 库 用于使用 python 将 pdf 读取到 pandas 数据框中 但是当我运行代码时 import tabula df tabula read pdf sample1 pdf pages 1 我得到了例外
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • java inputstream 打印控制台内容

    sock new Socket www google com 80 out new BufferedOutputStream sock getOutputStream in new BufferedInputStream sock getI
  • 在 Java 中如何找出哪个对象打开了文件?

    我需要找出答案哪个对象在我的 Java 应用程序中打开了一个文件 这是为了调试 因此欢迎使用工具或实用程序 如果发现哪个对象太具体了 这class也会很有帮助 这可能很棘手 您可以从使用分析器开始 例如VisualVM http visua
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 在Java中运行bat文件并等待

    您可能会认为从 Java 启动 bat 文件是一项简单的任务 但事实并非如此 我有一个 bat 文件 它对从文本文件读取的值循环执行一些 sql 命令 它或多或少是这样的 FOR F x in CD listOfThings txt do
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • JDBC 时间戳和日期 GMT 问题

    我有一个 JDBC 日期列 如果我使用 getDate 则会得到 date 仅部分2009 年 10 月 2 日但如果我使用 getTimestamp 我会得到完整的 date 2009 年 10 月 2 日 13 56 78 890 这正
  • 如何区分从 Saxon XPathSelector 返回的属性节点和元素节点

    给定 XML
  • 将 JavaFX FXML 对象分组在一起

    非常具有描述性和信息性的答案将从我这里获得价值 50 声望的赏金 我正在 JavaFX 中开发一个应用程序 对于视图 我使用 FXML
  • Android S8+ 警告消息“不支持当前的显示尺寸设置,可能会出现意外行为”

    我在 Samsung S8 Android 7 中收到此警告消息 APP NAME 不支持当前的显示尺寸设置 可能会 行为出乎意料 它意味着什么以及如何删除它 谢谢 通过添加解决supports screens 机器人 xlargeScre
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void

随机推荐

  • 如果我使用“CreateObject()”设置变量,使用后是否需要通过将其设置为“Nothing”来清理它?

    如果我使用设置变量CreateObject 我是否需要通过将其设置为来清理它Nothing使用后 Dim foo Set foo CreateObject SomeAssembly foo Bar Set foo Nothing 我刚刚发现
  • Python(scikit learn)lda 崩溃为单一维度

    总的来说 我对 scikit learn 和机器学习非常陌生 I am currently designing a SVM to predict if a specific amino acid sequence will be cut b
  • 使用 auto_now_add 时如何让现有条目为空?

    我在现有模型中添加了一个字段 creation date models DateTimeField auto now add True blank True null True makemigrations 后的结果文件看起来像 migra
  • Android 中花哨的动态列表:TableLayout 与 ListView

    需要有一个不那么简单的动态列表 其中每个记录由几列 文本 按钮 组成 它应该看起来像 Text11 Text12 Button1 Button2 Text21 Text22 Button1 Button2 起初 实现这一目标的明显方法似乎是
  • Laravel 5.1 随机删除会话数据

    我的 Laravel 5 1 应用程序遇到一个奇怪的问题 它间歇性地丢弃会话数据 我通过编写一些中间件来检测到这一点 该中间件将该请求的会话内容写入日志文件 虽然会话 ID Session getId 不变 其值 token在检索到的会话数
  • NPM安装错误

    我尝试安装 browserify npm 模块 我收到以下错误 praful ubuntu terminalcloud npm install g browserify npm http GET https registry npmjs o
  • Servlet 会话无效

    我在 2 个不同的服务器上有 2 个应用程序 Tomcat 基本上是 WAR 文件 和 jBoss 中的 EAR EAR 是一个可重用的应用程序 我将在其中对用户进行身份验证并将控件发送回 Tomcat 上的应用程序 在进行身份验证时 我在
  • 从带有转场的 unix 命令行图像创建视频

    我发现了几个有关如何从图像创建视频的问题及其答案 我设置了其中两个并能够正确生成视频 我尝试了以下方法 图像魔术师转换 延迟 100 质量 75 photo1 jpg photo2 jpg movie mpg FFMPEGffmpeg r
  • RedisSessionStateProvider 错误未知命令“EVAL”

    当我在本地运行 Microsoft Web Redis RedisSessionStateProvider 时 出现以下错误 StackExchange Redis RedisServerException ERR unknown comm
  • 如何用正数和负数来计算增长?

    我正在尝试用正数和负数计算 Excel 中的增长百分比 This Year s value 2434 Last Year s value 2 我使用的公式是 This Year Last Year Last Year 2434 2 2 问题
  • .net core 中是否有任何公共 MemberNotNull/MemberNotNullWhen 属性

    不久前我读过以下关于C 8中可空引用分析的文章 https www meziantou net csharp 8 nullable reference types htm https www meziantou net csharp 8 n
  • 在查询字符串中将隐藏字段从一个页面传递到另一页面

    我想通过查询字符串将隐藏字段中的查询从一页传递到另一页 谁能帮我理清逻辑吗 值得花时间学习jQuery http jquery com 它并不是很复杂 并且使得编写 javascript 变得更加容易 还有很多 jQuery 插件 例如jq
  • SOA 中的循环依赖

    我猜这是一个常见问题 但我会尝试描述我当前的问题 我有一个基本服务 我们将其命名为 CoreService 它提供了我想说的 主要 功能 处理数据库中的数据 我们的应用程序中有一个集中式数据库 还有许多其他应用程序 其中一些应用程序有自己的
  • 如何使用 TortoiseSVN 进行分支和合并? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 你怎么分支和合并 http svnb
  • 使 Box2d 对象遵循预定路径

    我正在制作一个游戏 其中某个对象 建模为 box2d 主体 必须遵循固定路径 有没有一种方法可以指定路径坐标并使对象在每个 dt 上前进 Thanks 另外一个选择 将鼠标关节连接到您的身体上 使用鼠标关节的setTarget方法来移动身体
  • 枚举常量特定的类体是静态的还是非静态的?

    我有一个枚举类型类 public enum Operation PLUS Override double apply double x double y ERROR Cannot make a static reference to the
  • MongoDB聚合项目检查数组是否包含

    我有以下文件 id 21353456 username xy text asdf comments username User1 text hi username User2 text hi1 username User3 text hi2
  • JOLT 移位转换以过滤数组中的值

    我想使用 JOLT 转换来做两件事 过滤名为 myarray 的数组中的元素 以便仅保留具有 v 518 属性的元素 过滤掉除 v 518 和 lfdn 之外的其余元素的所有属性 Input isError false isValid tr
  • 等待异步读取所有文件(FileReader),然后运行代码

    我有一个页面 用户可以在其中选择一个文件夹来上传文件 在发送文件之前 我需要阅读它们并检查数据 我的代码组织如下 folder select on change getValidFileList var fileList var getVa
  • 如何安排 Callable 在特定时间运行?

    我需要在一天中的特定时间运行可调用的 一种方法是计算现在与所需时间之间的时间差 并使用 executor scheduleAtFixedRate 有更好的主意吗 executor scheduleAtFixedRate command TI