IScheduledExecutorService インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる 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 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
プロパティ
| 名前 | 説明 |
|---|---|
| Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
| IsShutdown |
この Executor がシャットダウンされた場合に |
| IsTerminated |
シャットダウン後にすべてのタスクが完了した場合に |
| JniIdentityHashCode |
ラップされたインスタンスの |
| JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
| JniObjectReferenceControlBlock |
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる |
| JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
| PeerReference |
ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。 (継承元 IJavaPeerable) |
メソッド
| 名前 | 説明 |
|---|---|
| AwaitTermination(Int64, TimeUnit) |
シャットダウン要求後にすべてのタスクの実行が完了するか、タイムアウトが発生するか、現在のスレッドが中断されるまでブロックします。どちらか早い方が発生します。 (継承元 IExecutorService) |
| Close() |
以前に送信されたタスクが実行される順序付けされたシャットダウンを開始しますが、新しいタスクは受け入れなくなります。 (継承元 IExecutorService) |
| Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
| DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 |
| 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) |
指定された最初の遅延の後に最初に有効になり、次に指定された期間で有効になる定期的なアクションを送信します。つまり、実行は |
| ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
指定された最初の遅延の後に最初に有効になる定期的なアクションを送信し、その後、1 回の実行の終了から次の実行の開始までの間の特定の遅延を指定して送信します。 |
| SetJniIdentityHashCode(Int32) |
|
| SetJniManagedPeerState(JniManagedPeerStates) |
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる |
| SetPeerReference(JniObjectReference) |
|
| 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) |
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる |
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる |
| InvokeAnyAsync(IExecutorService, ICollection) |
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
特定の遅延後に実行するコマンド、または定期的に実行するようにコマンドをスケジュールできる |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|