java - 将 FutureTask 转换为 ScheduledFuture

标签 java android multithreading

对于我的 android 应用程序,我计划实现我自己的机制来安排可运行文件,例如,类似

public ScheduledFuture<?> runAfter(Runnable r, long millis) { 
  // Runs r after millis milliseconds. 
}

我遇到的问题是创建 ScheduledFuture 的实例这将被退回。有没有办法可以轻松地创建 ScheduledFuture 的实例?这将允许跟踪传递的可运行文件。

我知道的唯一方法是实现我自己的ScheduledFuture接口(interface)并为提交的runnable创建一个包装器,它将为 future 的实现设置适当的值,但我正在寻找一种简单的方法来为给定的runnable创建ScheduledFuture实例。

最佳答案

您可以使用ScheduledExecutorService如下

public ScheduledFuture<?> runAfter(Runnable r, long millis) { 
   // Runs r after millis milliseconds.
   ScheduledExecutorService executor;
   return executor.schedule(r, millis, TimeUnit.MILLISECONDS);
}

关于java - 将 FutureTask 转换为 ScheduledFuture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41971633/

相关文章:

java - 从给定节点提取子节点数据

java - 如何检查当前时间是否在android中的预设时间范围内

java/android - TimeZone 的一致方式 3 字母缩写

multithreading - Lwiit J2ME 中的等待屏幕

c++ - 如何在不违反 const 正确性的情况下使用 std::lock_guard?

java - 私有(private)实例变量/类定义

java - 为什么我们需要在 Java 中使用用户定义的类加载器

java - java中在进程中创建线程

java - 异步方法抛出异常是否合理?

android - 从堆栈中删除 Activity