ScheduledThreadPoolExecutor クラス

定義

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

[Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)]
public class ScheduledThreadPoolExecutor : Java.Util.Concurrent.ThreadPoolExecutor, IDisposable, Java.Util.Concurrent.IScheduledExecutorService
[<Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)>]
type ScheduledThreadPoolExecutor = class
    inherit ThreadPoolExecutor
    interface IScheduledExecutorService
    interface IExecutorService
    interface IExecutor
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
継承
属性
実装

注釈

特定の遅延後に実行するコマンド、または定期的に実行するコマンドをさらにスケジュールできる ThreadPoolExecutor 。 このクラスは、複数のワーカー スレッドが必要な場合や、java.util.Timer (このクラスが拡張する) の追加の柔軟性または機能が必要な場合にThreadPoolExecutorすることをお勧めしています。

遅延タスクは、有効にした時点より早く実行されますが、有効にした後に開始されるタイミングについてリアルタイムの保証はありません。 まったく同じ実行時間にスケジュールされたタスクは、先入れ先出し (FIFO) の送信順序で有効になります。

送信されたタスクが実行前に取り消されると、実行は抑制されます。 既定では、このような取り消されたタスクは、遅延が経過するまで作業キューから自動的に削除されません。 これにより、さらに検査と監視が可能になりますが、取り消されたタスクが無制限に保持される可能性もあります。

#scheduleAtFixedRate scheduleAtFixedRateまたは#scheduleWithFixedDelay scheduleWithFixedDelayによってスケジュールされた定期的なタスクの連続実行は重複しません。 異なるスレッドによって実行される実行は異なりますが、前の実行の影響 <i>happen-before</i> 後続の実行の影響です。

このクラスは ThreadPoolExecutorから継承されますが、継承されたチューニング メソッドの一部は役に立ちません。 特に、 corePoolSize スレッドと無制限のキューを使用する固定サイズのプールとして機能するため、 maximumPoolSize の調整は役に立ちません。 また、 corePoolSize を 0 に設定したり、 allowCoreThreadTimeOut を使用したりするのは、タスクを実行する資格が得た後にスレッドなしでプールを離れる可能性があるため、ほとんどお勧めできません。

ThreadPoolExecutorと同様に、特に指定しない場合、このクラスは既定のスレッド ファクトリとしてExecutors#defaultThreadFactoryを使用し、既定の拒否された実行ハンドラーとしてThreadPoolExecutor.AbortPolicyします。

<b>Extension notes:</b> このクラスは ThreadPoolExecutor#execute(Runnable) execute メソッドと AbstractExecutorService#submit(Runnable) submit メソッドをオーバーライドして、タスクごとの遅延とスケジュールを制御する内部 ScheduledFuture オブジェクトを生成します。 機能を保持するには、サブクラス内のこれらのメソッドをさらにオーバーライドしてスーパークラス バージョンを呼び出す必要があります。これにより、追加のタスクのカスタマイズが効果的に無効になります。 ただし、このクラスには、decorateTaskRunnableCallableexecutesubmitを介して入力されたコマンドを実行するために使用する具体的なタスクの種類をカスタマイズするために使用できる、保護された代替拡張メソッド schedule (scheduleAtFixedRatescheduleWithFixedDelayにそれぞれ 1 つのバージョン) が用意されています。 既定では、 ScheduledThreadPoolExecutorFutureTaskを拡張するタスクの種類を使用します。 ただし、これは次の形式のサブクラスを使用して変更または置き換えることができます。

{@code
            public class CustomScheduledExecutor extends ScheduledThreadPoolExecutor {

              static class CustomTask<V> implements RunnableScheduledFuture<V> { ... }

              protected <V> RunnableScheduledFuture<V> decorateTask(
                           Runnable r, RunnableScheduledFuture<V> task) {
                  return new CustomTask<V>(r, task);
              }

              protected <V> RunnableScheduledFuture<V> decorateTask(
                           Callable<V> c, RunnableScheduledFuture<V> task) {
                  return new CustomTask<V>(c, task);
              }
              // ... add constructors, etc.
            }}

1\.5 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler)

指定された初期パラメーターを使用して新しい ScheduledThreadPoolExecutor を作成します。

ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler)

指定された初期パラメーターを使用して新しい ScheduledThreadPoolExecutor を作成します。

ScheduledThreadPoolExecutor(Int32, IThreadFactory)

指定された初期パラメーターを使用して新しい ScheduledThreadPoolExecutor を作成します。

ScheduledThreadPoolExecutor(Int32)

指定されたコア プール サイズを持つ新しい ScheduledThreadPoolExecutor を作成します。

ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

名前 説明
ActiveCount

タスクをアクティブに実行しているスレッドの概数を返します。

(継承元 ThreadPoolExecutor)
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
CompletedTaskCount

実行が完了したタスクのおおよその合計数を返します。

(継承元 ThreadPoolExecutor)
ContinueExistingPeriodicTasksAfterShutdownPolicy

この Executor が shutdownされている場合でも、既存の定期的なタスクの実行を続行するかどうかを示すポリシーを取得します。 または、この Executor が shutdownされている場合でも、既存の定期的なタスクの実行を続行するかどうかをポリシーに設定します。

CorePoolSize

スレッドのコア数を返します。 または、スレッドのコア数を設定します。

(継承元 ThreadPoolExecutor)
ExecuteExistingDelayedTasksAfterShutdownPolicy

この Executor が shutdownされている場合でも、既存の遅延タスクを実行するかどうかを示すポリシーを取得します。 または、この Executor が shutdownされている場合でも、既存の遅延タスクを実行するかどうかをポリシーに設定します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsShutdown (継承元 ThreadPoolExecutor)
IsTerminated (継承元 ThreadPoolExecutor)
IsTerminating

この Executor が #shutdown または #shutdownNow 後に終了処理中であっても、完全に終了していない場合は true を返します。

(継承元 ThreadPoolExecutor)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

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

(継承元 JavaObject)
JniPeerMembers

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

LargestPoolSize

プール内に同時に存在したスレッドの最大数を返します。

(継承元 ThreadPoolExecutor)
MaximumPoolSize

許容されるスレッドの最大数を返します。 または、許容されるスレッドの最大数を設定します。

(継承元 ThreadPoolExecutor)
PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
PoolSize

プール内の現在のスレッド数を返します。

(継承元 ThreadPoolExecutor)
Queue

この Executor によって使用されるタスク キューを返します。

(継承元 ThreadPoolExecutor)
RejectedExecutionHandler

実行できないタスクの現在のハンドラーを返します。 または、実行できないタスクの新しいハンドラーを設定します。

(継承元 ThreadPoolExecutor)
RemoveOnCancelPolicy

取り消されたタスクを取り消し時に作業キューからすぐに削除する必要があるかどうかに関するポリシーを取得します。 または、取り消されたタスクを取り消し時に作業キューからすぐに削除するかどうかをポリシーに設定します。

TaskCount

実行がスケジュールされたタスクのおおよその合計数を返します。

(継承元 ThreadPoolExecutor)
ThreadFactory

新しいスレッドの作成に使用されるスレッド ファクトリを返します。 または、新しいスレッドの作成に使用するスレッド ファクトリを設定します。

(継承元 ThreadPoolExecutor)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
AfterExecute(IRunnable, Throwable)

指定された Runnable の実行が完了したときに呼び出されるメソッド。

(継承元 ThreadPoolExecutor)
AllowCoreThreadTimeOut(Boolean)

キープアライブ時間内にタスクが到着しなかった場合にコア スレッドがタイムアウトして終了するかどうかを制御するポリシーを設定します。新しいタスクが到着したときに必要に応じて置き換えられます。

(継承元 ThreadPoolExecutor)
AllowsCoreThreadTimeOut()

このプールでコア スレッドがタイムアウトし、keepAlive 時間内にタスクが到着しなかった場合は終了できる場合は true を返し、新しいタスクが到着したときに必要に応じて置き換えられます。

(継承元 ThreadPoolExecutor)
AwaitTermination(Int64, TimeUnit) (継承元 ThreadPoolExecutor)
AwaitTerminationAsync(Int64, TimeUnit)

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

(継承元 AbstractExecutorService)
BeforeExecute(Thread, IRunnable)

指定されたスレッドで指定された Runnable を実行する前に呼び出されるメソッド。

(継承元 ThreadPoolExecutor)
Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

(継承元 JavaObject)
DecorateTask(ICallable, IRunnableScheduledFuture)

呼び出し可能なタスクの実行に使用するタスクを変更または置換します。

DecorateTask(IRunnable, IRunnableScheduledFuture)

実行可能ファイルの実行に使用するタスクを変更または置換します。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

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

(継承元 JavaObject)
Equals(Object)

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

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Execute(IRunnable)

将来、特定のタスクを実行します。

(継承元 ThreadPoolExecutor)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetKeepAliveTime(TimeUnit)

スレッドのキープアライブ時間を返します。これは、スレッドが終了する前にアイドル状態のままになる可能性がある時間です。

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

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

(継承元 AbstractExecutorService)
InvokeAll(ICollection)

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

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

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

(継承元 AbstractExecutorService)
InvokeAny(ICollection)

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

(継承元 AbstractExecutorService)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
NewTaskFor(ICallable)

指定された呼び出し可能なタスクの RunnableFuture を返します。

(継承元 AbstractExecutorService)
NewTaskFor(IRunnable, Object)

指定された実行可能値と既定値の RunnableFuture を返します。

(継承元 AbstractExecutorService)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
PrestartAllCoreThreads()

すべてのコア スレッドを開始し、作業を待ちます。

(継承元 ThreadPoolExecutor)
PrestartCoreThread()

コア スレッドを開始し、作業を idly 待機させます。

(継承元 ThreadPoolExecutor)
Purge()

取り消されたすべての Future タスクを作業キューから削除しようとします。

(継承元 ThreadPoolExecutor)
Remove(IRunnable)

このタスクが存在する場合は、Executor の内部キューから削除されるため、まだ開始されていない場合は実行されません。

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

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

Schedule(IRunnable, Int64, TimeUnit)

指定された遅延後に有効になるワンショット アクションを作成して実行します。

ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit)

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

ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit)

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

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetKeepAliveTime(Int64, TimeUnit)

スレッドのキープアライブ時間を設定します。これは、スレッドが終了する前にアイドル状態のままになる可能性がある時間です。

(継承元 ThreadPoolExecutor)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

(継承元 JavaObject)
Shutdown()

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

(継承元 ThreadPoolExecutor)
ShutdownNow()

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

(継承元 ThreadPoolExecutor)
Submit(ICallable)

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

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

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

(継承元 AbstractExecutorService)
Submit(IRunnable)

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

(継承元 AbstractExecutorService)
Terminated()

Executor が終了したときに呼び出されるメソッド。

(継承元 ThreadPoolExecutor)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

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

(継承元 JavaObject)
IJavaPeerable.Finalized()

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

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

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

拡張メソッド

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

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

GetJniTypeName(IJavaPeerable)

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

InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit)

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

InvokeAnyAsync(IExecutorService, ICollection)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象