インターフェース WorkManager
- 既知のすべてのサブインターフェース:
DistributableWorkManager
public interface WorkManagerこのインターフェースは、Workインスタンスを実行のために送信する機能を提供するWorkManagerをモデル化します。これにより、ユーザーは Java™ を作成する必要がなくなります。作業を直接行うスレッド。さらに、これにより、スレッドリソースを効率的にプールし、スレッドの使用をより詳細に制御できます。Work処理のさまざまな段階は次のとおりです。- 作品サブミット:
Workインスタンスが実行のために送信されています。Workインスタンスは、適切なエラーコードに設定されたWorkRejectedExceptionで受け入れられるか拒否されます。 - 受け入れた作業: 送信された
Workインスタンスは受け入れられました。受け入れられたWorkインスタンスは、実行を開始するか、WorkRejectedExceptionを適切なエラーコードに設定して再度拒否することができます。開始タイムアウト期間が指定されていない限り、実行がいつ開始されるかについての保証はありません。開始タイムアウトが指定されている場合、Workの実行は指定された期間(リアルタイムの保証ではない)内に開始する必要があり、失敗すると、エラーコード(WorkRejected.TIMED_OUT)に設定されたWorkRejectedExceptionがスローされます。 - 拒否された作業:
Workインスタンスは拒否されました。Workインスタンスは、Workの提出中、またはWorkインスタンスが受け入れられた後(ただし、Work インスタンスが実行を開始する前)に拒否される可能性があります。拒否の原因は、内部要因またはタイムアウトの有効期限の開始です。どちらの場合も、適切なエラーコード(理由を示す)を含むWorkRejectedExceptionがスローされます。 - 作業が始まった:
Workインスタンスの実行が開始されました。これは、スレッドがその実行に割り当てられていることを意味します。ただし、これは、割り当てられたスレッドが CPU リソースで実行されるようにスケジュールされていることを保証するものではありません。実行が開始されると、割り当てられたスレッドが適切な実行コンテキスト(トランザクション、セキュリティなど)を設定し、Work.run() を呼び出します。実行コンテキストのセットアップまたは Work.run() 中にスローされた例外は、処理の完了につながることに注意してください。 - 完成した作業:
Workの実行が完了しました。実行は例外ありまたは例外なしで完了する可能性があります。WorkManagerは、Work処理(実行コンテキストのセットアップを含む)中にスローされた例外をキャッチし、それをWorkCompletedExceptionでラップします。
- バージョン:
- 1.0
- 作成者:
- Ram Jeyaraman
フィールド概要
フィールド 修飾子と型 フィールド 説明 static longIMMEDIATEタイムアウト期間を示す定数。static longINDEFINITEタイムアウト期間を示す定数。static longUNKNOWN不明な開始遅延期間またはその他の不明な値を示す定数。
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 voiddoWork(Work work)Workインスタンスを受け入れて処理します。voiddoWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener)Workインスタンスを受け入れて処理します。voidscheduleWork(Work work)Workインスタンスを受け入れて処理します。voidscheduleWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener)Workインスタンスを受け入れて処理します。longstartWork(Work work)Workインスタンスを受け入れて処理します。longstartWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener)Workインスタンスを受け入れて処理します。
フィールドの詳細
IMMEDIATE
static final long IMMEDIATE
タイムアウト期間を示す定数。ゼロのタイムアウト値は、アクションがすぐに実行されることを示します。WorkManager 実装は、アクションをできるだけ早くタイムアウトする必要があります。- 関連事項:
- 定数フィールド値
INDEFINITE
static final long INDEFINITE
タイムアウト期間を示す定数。最大タイムアウト値は、時間の制約なしにアクションが任意に実行されることを示します。- 関連事項:
- 定数フィールド値
UNKNOWN
static final long UNKNOWN
不明な開始遅延期間またはその他の不明な値を示す定数。- 関連事項:
- 定数フィールド値
メソッドの詳細
doWork
void doWork(Work work) throws WorkException
Workインスタンスを受け入れて処理します。この呼び出しは、Workインスタンスの実行が完了するまでブロックされます。受け入れられたWorkインスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始するための時間的制約はありません。(つまり、startTimeout = INDEFINITE)- パラメーター:
work- 実行する作業単位。長期または短期の可能性があります。- 例外:
WorkRejectedException-Workインスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。WorkCompletedException-Workインスタンスが例外を伴って実行を完了したことを示します。WorkException
doWork
void doWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener) throws WorkException
Workインスタンスを受け入れて処理します。この呼び出しは、Workインスタンスの実行が完了するまでブロックされます。- パラメーター:
work- 実行する作業単位。長期または短期の可能性があります。startTimeout-Workインスタンスの実行を開始する必要がある期間(ミリ秒単位)。それ以外の場合、Workインスタンスは、WorkRejectedExceptionが適切なエラーコード(WorkRejectedException.TIMED_OUT)に設定された状態で拒否されます。これはリアルタイムの保証を提供しないことに注意してください。execContext- 送信されたWorkインスタンスを実行する必要がある実行コンテキストを含むオブジェクト。workListener- さまざまなWork処理イベント(作業の受け入れ、作業の拒否、作業の開始、作業の完了)が発生したときに通知されるオブジェクト。- 例外:
WorkRejectedException-Workインスタンスがそれ以上の処理から拒否されたことを示します。これは、内部要因または開始タイムアウトの有効期限が原因で発生する可能性があります。WorkCompletedException-Workインスタンスが例外を伴って実行を完了したことを示します。WorkException
startWork
long startWork(Work work) throws WorkException
処理のためにWorkインスタンスを受け入れます。この呼び出しは、Workインスタンスが実行を開始するまでブロックされますが、完了するまでブロックされません。受け入れられたWorkインスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始する時間の制約はありません。(つまり、startTimeout = INDEFINITE)- パラメーター:
work- 実行する作業単位。長期または短期の可能性があります。- 戻り値:
Workが受け入れられてから実行が開始されるまでの経過時間(ミリ秒単位)。これはリアルタイムの保証を提供しないことに注意してください。実際の開始遅延時間が不明な場合は、-1 を返すことが有効です。- 例外:
WorkRejectedException-Workインスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。WorkException
startWork
long startWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener) throws WorkException
処理のためにWorkインスタンスを受け入れます。この呼び出しは、Workインスタンスが実行を開始するまでブロックされますが、完了するまでブロックされません。受け入れられたWorkインスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始する時間の制約はありません。- パラメーター:
work- 実行する作業単位。長期または短期の可能性があります。startTimeout-Workインスタンスの実行を開始する必要がある期間(ミリ秒単位)。それ以外の場合、Workインスタンスは、WorkRejectedExceptionが適切なエラーコード(WorkRejectedException.TIMED_OUT)に設定された状態で拒否されます。これはリアルタイムの保証を提供しないことに注意してください。execContext- 送信されたWorkインスタンスを実行する必要がある実行コンテキストを含むオブジェクト。workListener- さまざまなWork処理イベント(作業の受け入れ、作業の拒否、作業の開始、作業の完了)が発生したときに通知されるオブジェクト。- 戻り値:
Workが受け入れられてから実行が開始されるまでの経過時間(ミリ秒単位)。これはリアルタイムの保証を提供しないことに注意してください。実際の開始遅延時間が不明な場合は、-1 を返すことが有効です。- 例外:
WorkRejectedException-Workインスタンスがそれ以上の処理から拒否されたことを示します。これは、内部要因または開始タイムアウトの有効期限が原因で発生する可能性があります。WorkException
scheduleWork
void scheduleWork(Work work) throws WorkException
処理のためにWorkインスタンスを受け入れます。この呼び出しはブロックされず、Workインスタンスの処理が受け入れられるとすぐに戻ります。送信されたWorkインスタンスがいつ実行を開始するかについての保証はありません。つまり、実行を開始する時間の制約はありません。(つまり、startTimeout = INDEFINITE)。- パラメーター:
work- 実行する作業単位。長期または短期の可能性があります。- 例外:
WorkRejectedException-Workインスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。WorkException
scheduleWork
void scheduleWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener) throws WorkException
処理のためにWorkインスタンスを受け入れます。この呼び出しはブロックされず、Workインスタンスの処理が受け入れられるとすぐに戻ります。- パラメーター:
work- 実行する作業単位。長期または短期の可能性があります。startTimeout-Workインスタンスの実行を開始する必要がある期間(ミリ秒単位)。それ以外の場合、Workインスタンスは、WorkRejectedExceptionが適切なエラーコード(WorkRejectedException.TIMED_OUT)に設定された状態で拒否されます。これはリアルタイムの保証を提供しないことに注意してください。execContext- 送信されたWorkインスタンスを実行する必要がある実行コンテキストを含むオブジェクト。workListener- さまざまなWork処理イベント(作業の受け入れ、作業の拒否、作業の開始、作業の完了)が発生したときに通知されるオブジェクト。- 例外:
WorkRejectedException-Workインスタンスが以降の処理から拒否されたことを示します。これは、内部要因が原因で発生する可能性があります。WorkException