ScheduledThreadPoolExecutor クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ThreadPoolExecutor
指定した遅延後に実行するコマンドや定期的に実行するコマンドを追加でスケジュールできる A。
[Android.Runtime.Register("java/util/concurrent/ScheduledThreadPoolExecutor", DoNotGenerateAcw=true)]
public class ScheduledThreadPoolExecutor : Java.Util.Concurrent.ThreadPoolExecutor, IDisposable, Java.Interop.IJavaPeerable, 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
指定した遅延後に実行するコマンドや定期的に実行するコマンドを追加でスケジュールできる A。 このクラスは、複数のワーカー スレッドが必要な場合、または (このクラスが拡張する) 追加のThreadPoolExecutor
柔軟性または機能が必要な場合に適java.util.Timer
しています。
遅延タスクは、有効にした時点より早く実行されますが、有効になった後に開始されるタイミングについてはリアルタイムで保証されません。 まったく同じ実行時間にスケジュールされたタスクは、先入れ先出し (FIFO) の送信順序で有効になります。
送信されたタスクが実行前に取り消されると、実行は抑制されます。 既定では、このような取り消されたタスクは、遅延が経過するまで作業キューから自動的に削除されません。 これにより、さらに検査と監視が可能になりますが、取り消されたタスクが無制限に保持される可能性もあります。
定期的なタスクの連続実行は、重複しないか、 #scheduleAtFixedRate scheduleAtFixedRate
または #scheduleWithFixedDelay scheduleWithFixedDelay
重複しないようにスケジュールされます。 異なる実行は異なるスレッドによって実行される可能性があるが、以前の実行の影響は>後続の実行<の前</i>に起こる。
このクラスは継承 ThreadPoolExecutor
されますが、継承されたチューニング メソッドの一部は役に立ちません。 特に、スレッドと無制限のキューを使用して corePoolSize
固定サイズのプールとして機能するため、調整は役に maximumPoolSize
立ちません。 さらに、タスクを実行する資格が得た後、スレッドなしでプールを離れる可能性があるため、0 に設定 corePoolSize
したり、使用 allowCoreThreadTimeOut
したりすることはほとんどお勧めできません。
それ以外の場合とThreadPoolExecutor
同様に、このクラスは既定のスレッド ファクトリとして、およびThreadPoolExecutor.AbortPolicy
既定の拒否された実行ハンドラーとして使用Executors#defaultThreadFactory
します。
<b>拡張ノート:</b> このクラスは、タスクごとの遅延とAbstractExecutorService#submit(Runnable) submit
スケジュールを制御する内部ScheduledFuture
オブジェクトを生成するメソッドとメソッドをオーバーライドThreadPoolExecutor#execute(Runnable) execute
します。 機能を保持するには、サブクラス内のこれらのメソッドをさらにオーバーライドしてスーパークラス バージョンを呼び出す必要があります。これにより、追加のタスクのカスタマイズが効果的に無効になります。 ただし、このクラスは、代替の保護された拡張メソッド (それぞれ Runnable
1 つのバージョンと) を提供しますCallable
。これは、scheduleWithFixedDelay
schedule
scheduleAtFixedRate
submit
入力されたexecute
コマンドを実行するために使用される具体的なタスクの種類をカスタマイズするために使用できます。decorateTask
既定では、a は ScheduledThreadPoolExecutor
タスクの種類を拡張して使用します FutureTask
。 ただし、これは次の形式のサブクラスを使用して変更または置き換えることができます。
{@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 ドキュメントjava.util.concurrent.ScheduledThreadPoolExecutor
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
ScheduledThreadPoolExecutor(Int32) |
指定されたコア プール サイズを持つ新しい |
ScheduledThreadPoolExecutor(Int32, IRejectedExecutionHandler) |
指定された初期パラメーターを使用して新しい |
ScheduledThreadPoolExecutor(Int32, IThreadFactory) |
指定された初期パラメーターを使用して新しい |
ScheduledThreadPoolExecutor(Int32, IThreadFactory, IRejectedExecutionHandler) |
指定された初期パラメーターを使用して新しい |
ScheduledThreadPoolExecutor(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
プロパティ
ActiveCount |
タスクをアクティブに実行しているスレッドの概数を返します。 (継承元 ThreadPoolExecutor) |
Class |
この |
CompletedTaskCount |
実行が完了したタスクのおおよその合計数を返します。 (継承元 ThreadPoolExecutor) |
ContinueExistingPeriodicTasksAfterShutdownPolicy |
この Executor が実行されている |
CorePoolSize |
スレッドのコア数を返します。 または、スレッドのコア数を設定します。 (継承元 ThreadPoolExecutor) |
ExecuteExistingDelayedTasksAfterShutdownPolicy |
この Executor が実行されている |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsShutdown |
|
IsTerminated |
|
IsTerminating |
この Executor が終了の処理中 |
JniIdentityHashCode |
|
JniPeerMembers |
|
LargestPoolSize |
プール内に同時に存在したスレッドの最大数を返します。 (継承元 ThreadPoolExecutor) |
MaximumPoolSize |
許容されるスレッドの最大数を返します。 または、許容されるスレッドの最大数を設定します。 (継承元 ThreadPoolExecutor) |
PeerReference |
|
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) |
|
AwaitTerminationAsync(Int64, TimeUnit) |
|
BeforeExecute(Thread, IRunnable) |
指定されたスレッドで指定された Runnable を実行する前に呼び出されるメソッド。 (継承元 ThreadPoolExecutor) |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
DecorateTask(ICallable, IRunnableScheduledFuture) |
呼び出し可能なタスクの実行に使用するタスクを変更または置換します。 |
DecorateTask(IRunnable, IRunnableScheduledFuture) |
実行可能ファイルの実行に使用するタスクを変更または置換します。 |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
Execute(IRunnable) |
将来、特定のタスクを実行します。 (継承元 ThreadPoolExecutor) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetKeepAliveTime(TimeUnit) |
スレッドのキープアライブ時間を返します。これは、スレッドが終了する前にアイドル状態のままになる可能性がある時間です。 (継承元 ThreadPoolExecutor) |
InvokeAll(ICollection) |
|
InvokeAll(ICollection, Int64, TimeUnit) |
|
InvokeAny(ICollection) |
|
InvokeAny(ICollection, Int64, TimeUnit) |
|
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
NewTaskFor(ICallable) |
指定された呼び出し可能タスクの a |
NewTaskFor(IRunnable, Object) |
指定された実行可能値と既定値の a |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
PrestartAllCoreThreads() |
すべてのコア スレッドを開始し、作業を待ちます。 (継承元 ThreadPoolExecutor) |
PrestartCoreThread() |
コア スレッドを開始し、作業を idly 待機させます。 (継承元 ThreadPoolExecutor) |
Purge() |
取り消されたすべての |
Remove(IRunnable) |
このタスクが存在する場合は、Executor の内部キューから削除されるため、まだ開始されていない場合は実行されません。 (継承元 ThreadPoolExecutor) |
Schedule(ICallable, Int64, TimeUnit) |
|
Schedule(IRunnable, Int64, TimeUnit) |
指定された遅延後に有効になるワンショット アクションを作成して実行します。 |
ScheduleAtFixedRate(IRunnable, Int64, Int64, TimeUnit) |
指定された最初の遅延の後に最初に有効になり、次に指定された期間で有効になる定期的なアクションを送信します。つまり、実行は、次に、その後 |
ScheduleWithFixedDelay(IRunnable, Int64, Int64, TimeUnit) |
指定された最初の遅延の後に最初に有効になる定期的なアクションを送信し、その後、1 回の実行の終了から次の実行の開始までの間の特定の遅延を指定して送信します。 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
SetKeepAliveTime(Int64, TimeUnit) |
スレッドのキープアライブ時間を設定します。これは、スレッドが終了する前にアイドル状態のままになる可能性がある時間です。 (継承元 ThreadPoolExecutor) |
Shutdown() |
以前に送信されたタスクが実行される順序付けされたシャットダウンを開始しますが、新しいタスクは受け入れなくなります。 (継承元 ThreadPoolExecutor) |
ShutdownNow() |
アクティブに実行されているすべてのタスクを停止し、待機中のタスクの処理を停止し、実行を待機していたタスクの一覧を返します。 (継承元 ThreadPoolExecutor) |
Submit(ICallable) |
|
Submit(IRunnable) |
実行可能タスクを実行用に送信し、そのタスクを表す Future を返します。 (継承元 AbstractExecutorService) |
Submit(IRunnable, Object) |
|
Terminated() |
Executor が終了したときに呼び出されるメソッド。 (継承元 ThreadPoolExecutor) |
ToArray<T>() |
|
ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
UnregisterFromRuntime() |
|
Wait() |
現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|
AwaitTerminationAsync(IExecutorService, Int64, TimeUnit) |
|
InvokeAnyAsync(IExecutorService, ICollection) |
|
InvokeAnyAsync(IExecutorService, ICollection, Int64, TimeUnit) |
|