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
、さまざまな遅延を伴うタスクを作成し、実行の取り消しまたはチェックに使用できるタスク オブジェクトを返します。 メソッドと scheduleWithFixedDelay
メソッドはscheduleAtFixedRate
、取り消されるまで定期的に実行されるタスクを作成して実行します。
メソッドと ExecutorService
submit
メソッドを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.ScheduledExecutorService
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。
プロパティ
Handle |
基になる Android オブジェクトの JNI 値を取得します。 (継承元 IJavaObject) |
IsShutdown |
|
IsTerminated |
シャットダウン後 |
JniIdentityHashCode |
ラップされたインスタンスの の |
JniManagedPeerState |
マネージド ピアの状態。 (継承元 IJavaPeerable) |
JniPeerMembers |
メンバー アクセスと呼び出しのサポート。 (継承元 IJavaPeerable) |
PeerReference |
JniObjectReferenceラップされた Java オブジェクト インスタンスの を返します。 (継承元 IJavaPeerable) |
メソッド
AwaitTermination(Int64, TimeUnit) |
シャットダウン要求の後にすべてのタスクが実行を完了するか、タイムアウトが発生するか、現在のスレッドが中断されるまでブロックします。どちらか早い方が発生します。 (継承元 IExecutorService) |
Disposed() |
インスタンスが破棄されたときに呼び出されます。 (継承元 IJavaPeerable) |
DisposeUnlessReferenced() |
このインスタンスへの未処理の参照がない場合は、 を呼び出 |
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) |
指定された最初の遅延の後に最初に有効になり、次に指定された期間で有効になる定期的なアクションを送信します。つまり、実行は、 の後 |
ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
指定された最初の遅延の後に最初に有効になる定期的なアクションを送信し、その後、1 回の実行の終了から次の実行の開始までの間に、指定された遅延を指定して送信します。 |
SetJniIdentityHashCode(Int32) |
によって返される値を |
SetJniManagedPeerState(JniManagedPeerStates) |
特定の |
SetPeerReference(JniObjectReference) |
によって返される値を |
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) |
特定の |
GetJniTypeName(IJavaPeerable) |
特定の |
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
特定の |
InvokeAnyAsync(IExecutorService, ICollection) |
特定の |
InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
特定の |