私はジョブ キュー ライブラリを使用しています。ここでは、 を定義JobしてJobManager. にJobManagerは、をキューから取り出して を呼び出すThreadGroupwith ワーカーがあります。JobJob.onRun()
スレッドの量は、スレッドの最大量と最小量、負荷係数 (ワーカー スレッドが新しいジョブを作成する前に保持できる未処理のジョブの数)、最小値を超えるスレッドのアイドル タイムアウトを指定することによって設定されます。run()したがって、新しいジョブがなく、アイドル タイムアウトに達すると、ワーカー スレッドは終了します。
一部Jobの s では、非同期 API のみを公開するライブラリを使用しています。これらを onRun() で使用しても安全ですか?
たとえば、応答を提供するコールバックを受け取るネットワーク リクエストを作成したい場合、コールバックは次のように呼び出されます。
@Override
public void onRun() throws Throwable {
client.doRequest(request, new Callback() {
@Override
public void onRequestComplete(Response response) {
//is this guaranteed to get called?
}
});
//since we now return from onRun() will onRequestComplete() get called?
}