Language

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メソッドは、さまざまな遅延を伴うタスクを作成し、実行をキャンセルまたは確認するために使用できるタスク オブジェクトを返します。 scheduleAtFixedRateメソッドとscheduleWithFixedDelay メソッドは、取り消されるまで定期的に実行されるタスクを作成して実行します。

Executor#execute(Runnable)メソッドとExecutorServicesubmitメソッドを使用して送信されたコマンドは、要求された遅延が 0 でスケジュールされます。 ゼロ遅延と負の遅延 (ピリオドではない) は、 schedule メソッドでも許可され、即時実行の要求として扱われます。

すべての schedule メソッドは <em>relative</em> 遅延とピリオドを引数として受け入れ、絶対時刻や日付は受け取りません。 java.util.Dateとして表される絶対時間を必要な形式に変換するのは簡単です。 たとえば、特定の将来の dateでスケジュールを設定するには、 schedule(task, date.getTime() - System.currentTimeMillis(), TimeUnit.MILLISECONDS)を使用できます。 ただし、相対遅延の有効期限は、ネットワーク時刻同期プロトコル、クロック ドリフト、またはその他の要因によってタスクが有効になっている現在の Date と一致する必要はありません。

Executors クラスは、このパッケージで提供される ScheduledExecutorService 実装に便利なファクトリ メソッドを提供します。

<h2>使用例</h2>

1 時間 10 秒ごとにビープ音を鳴らす 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ドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

プロパティ

名前 説明
Handle

基になる Android オブジェクトの JNI 値を取得します。

(継承元 IJavaObject)
IsShutdown

この Executor がシャットダウンされた場合に true を返します。

(継承元 IExecutorService)
IsTerminated

シャットダウン後にすべてのタスクが完了した場合に true を返します。

(継承元 IExecutorService)
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

(継承元 IJavaPeerable)
JniManagedPeerState

マネージド ピアの状態。

(継承元 IJavaPeerable)
JniObjectReferenceControlBlock

特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる ExecutorService 。

(継承元 IJavaPeerable)
JniPeerMembers

メンバー アクセスと呼び出しのサポート。

(継承元 IJavaPeerable)
PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

(継承元 IJavaPeerable)

メソッド

名前 説明
AwaitTermination(Int64, TimeUnit)

シャットダウン要求後にすべてのタスクの実行が完了するか、タイムアウトが発生するか、現在のスレッドが中断されるまでブロックします。どちらか早い方が発生します。

(継承元 IExecutorService)
Close()

以前に送信されたタスクが実行される順序付けされたシャットダウンを開始しますが、新しいタスクは受け入れなくなります。

(継承元 IExecutorService)
Disposed()

インスタンスが破棄されたときに呼び出されます。

(継承元 IJavaPeerable)
DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

(継承元 IJavaPeerable)
Execute(IRunnable)

将来、特定のコマンドを実行します。

(継承元 IExecutor)
Finalized()

インスタンスが終了したときに呼び出されます。

(継承元 IJavaPeerable)
InvokeAll(ICollection, Int64, TimeUnit)

特定のタスクを実行し、すべての完了またはタイムアウトが経過した時点で、どちらか早く発生したときに、その状態と結果を保持する Futures の一覧を返します。

(継承元 IExecutorService)
InvokeAll(ICollection)

指定されたタスクを実行し、すべての完了時に、その状態と結果を保持する先物の一覧を返します。

(継承元 IExecutorService)
InvokeAny(ICollection, Int64, TimeUnit)

指定されたタスクを実行し、正常に完了したタスクの結果を返します (i.

(継承元 IExecutorService)
InvokeAny(ICollection)

指定されたタスクを実行し、正常に完了したタスクの結果を返します (i.

(継承元 IExecutorService)
Schedule(ICallable, Int64, TimeUnit)

指定された遅延後に有効になる、値を返すワンショット タスクを送信します。

Schedule(IRunnable, Int64, TimeUnit)

指定された遅延後に有効になるワンショット タスクを送信します。

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

指定された最初の遅延の後に最初に有効になり、次に指定された期間で有効になる定期的なアクションを送信します。つまり、実行は initialDelay後、 initialDelay + period、 initialDelay + 2 * periodなどによって開始されます。

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

指定された最初の遅延の後に最初に有効になる定期的なアクションを送信し、その後、1 回の実行の終了から次の実行の開始までの間の特定の遅延を指定して送信します。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

(継承元 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる ExecutorService 。

(継承元 IJavaPeerable)
SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

(継承元 IJavaPeerable)
Shutdown()

以前に送信されたタスクが実行される順序付けされたシャットダウンを開始しますが、新しいタスクは受け入れなくなります。

(継承元 IExecutorService)
ShutdownNow()

アクティブに実行されているすべてのタスクを停止し、待機中のタスクの処理を停止し、実行を待機していたタスクの一覧を返します。

(継承元 IExecutorService)
Submit(ICallable)

値を返すタスクを実行用に送信し、タスクの保留中の結果を表す Future を返します。

(継承元 IExecutorService)
Submit(IRunnable, Object)

実行可能タスクを実行用に送信し、そのタスクを表す Future を返します。

(継承元 IExecutorService)
Submit(IRunnable)

実行可能タスクを実行用に送信し、そのタスクを表す Future を返します。

(継承元 IExecutorService)
UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

(継承元 IJavaPeerable)

拡張メソッド

名前 説明
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit)

特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる ExecutorService 。

GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる ExecutorService 。

InvokeAnyAsync(IExecutorService, ICollection)

特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる ExecutorService 。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる ExecutorService 。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象