Share via


IScheduledExecutorService 接口

定义

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

[Android.Runtime.Register("java/util/concurrent/ScheduledExecutorService", "", "Java.Util.Concurrent.IScheduledExecutorServiceInvoker")]
public interface IScheduledExecutorService : IDisposable, Java.Interop.IJavaPeerable, Java.Util.Concurrent.IExecutorService
[<Android.Runtime.Register("java/util/concurrent/ScheduledExecutorService", "", "Java.Util.Concurrent.IScheduledExecutorServiceInvoker")>]
type IScheduledExecutorService = interface
    interface IExecutorService
    interface IExecutor
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
派生
属性
实现

注解

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

方法schedule创建具有各种延迟的任务,并返回可用于取消或检查执行的任务对象。 scheduleAtFixedRatescheduleWithFixedDelay 方法创建并执行定期运行的任务,直到取消。

计划使用 Executor#execute(Runnable)ExecutorServicesubmit 方法提交的命令,请求的延迟为零。 方法中 schedule 也允许零延迟和负延迟 (但不允许期间) ,并被视为立即执行请求。

所有方法都schedule接受<>相对<延迟>和周期作为参数,而不是绝对时间或日期。 将表示为 java.util.Date 的绝对时间转换为所需形式是一件简单的事情。 例如,若要在特定的未来 date进行计划,可以使用: schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS)。 但请注意,由于网络时间同步协议、时钟偏移或其他因素,相对延迟的过期时间不必与启用任务的当前 Date 时间一致。

Executors 为此包中提供的 ScheduledExecutorService 实现提供了方便的工厂方法。

<h2>用法示例</h2>

下面是一个类,该方法将 ScheduledExecutorService 设置为在一小时内每十秒发出一次蜂鸣声:

{@code
            import static java.util.concurrent.TimeUnit.*;
            class BeeperControl {
              private final ScheduledExecutorService scheduler =
                Executors.newScheduledThreadPool(1);

              public void beepForAnHour() {
                Runnable beeper = () -> System.out.println("beep");
                ScheduledFuture<?> beeperHandle =
                  scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
                Runnable canceller = () -> beeperHandle.cancel(false);
                scheduler.schedule(canceller, 1, HOURS);
              }
            }}

在 1.5 中添加。

java.util.concurrent.ScheduledExecutorServiceJava 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
IsShutdown

true如果此执行程序已关闭,则返回 。

(继承自 IExecutorService)
IsTerminated

true如果关闭后所有任务都已完成,则返回 。

(继承自 IExecutorService)
JniIdentityHashCode

返回包装实例的 的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例的 。

(继承自 IJavaPeerable)

方法

AwaitTermination(Int64, TimeUnit)

阻止,直到所有任务在关闭请求后完成执行、超时发生或当前线程中断(以先发生者为准)。

(继承自 IExecutorService)
Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Execute(IRunnable)

在将来的某个时间执行给定的命令。

(继承自 IExecutor)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
InvokeAll(ICollection)

执行给定的任务,并在所有任务完成时返回保留其状态和结果的 Future 列表。

(继承自 IExecutorService)
InvokeAll(ICollection, Int64, TimeUnit)

执行给定任务,在全部完成或超时到期时返回保留其状态和结果的 Future 列表,以先发生者为准。

(继承自 IExecutorService)
InvokeAny(ICollection)

执行给定任务,返回已成功完成的任务的结果 (i。

(继承自 IExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

执行给定任务,返回已成功完成的任务的结果 (i。

(继承自 IExecutorService)
Schedule(ICallable, Int64, TimeUnit)

提交一个值返回的一次性任务,该任务在给定延迟后启用。

Schedule(IRunnable, Int64, TimeUnit)

提交在给定延迟后启用的一次性任务。

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

提交一个定期操作,该操作在给定的初始延迟后首先启用,随后在给定时间段内启用;也就是说,执行将在 之后initialDelay开始,然后是 ,然后initialDelay + periodinitialDelay + 2 * period是,等等。

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

提交一个定期操作,该操作在给定的初始延迟后首先启用,然后在终止一个执行和下一个执行开始之间的给定延迟时启用。

SetJniIdentityHashCode(Int32)

设置 返回 JniIdentityHashCode的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置 返回 PeerReference的值。

(继承自 IJavaPeerable)
Shutdown()

启动有序关闭,在该关机中执行以前提交的任务,但不接受任何新任务。

(继承自 IExecutorService)
ShutdownNow()

尝试停止所有正在执行的任务,停止处理等待的任务,并返回等待执行的任务列表。

(继承自 IExecutorService)
Submit(ICallable)

提交值返回任务以供执行,并返回一个 Future,表示任务的挂起结果。

(继承自 IExecutorService)
Submit(IRunnable)

提交可运行任务以供执行,并返回表示该任务的 Future。

(继承自 IExecutorService)
Submit(IRunnable, Object)

提交可运行任务以供执行,并返回表示该任务的 Future。

(继承自 IExecutorService)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

GetJniTypeName(IJavaPeerable)

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

InvokeAnyAsync(IExecutorService, ICollection)

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

一个 , ExecutorService 它可以计划命令在给定延迟后运行或定期执行。

适用于