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

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

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

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

<h2>使用例</h2>

10 秒ごとに 1 時間ビープ音を鳴らす 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この Executor がシャットダウンされている場合は を返します。

(継承元 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)

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

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

指定されたタスクを実行し、すべての完了またはタイムアウトが切れた場合に、その状態と結果を保持する Futures の一覧を返します。どちらか早い方の方が発生します。

(継承元 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 + 2 * periodinitialDelay + 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)

実行可能タスクを送信し、そのタスクを表す 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 遅延後に実行されるようにコマンドをスケジュールしたり、定期的に実行したりできる 。

適用対象