私はAsyncHttpClient
いくつかのJSONを取得するために使用しています。私のメソッドはJSONを解析し、別のgetリクエストを起動するため、実際に実行されているスレッドの数はわかりません。ThreadPoolExecutor
いくつか検索した後、すべてのスレッドがいつ終了したかを知るために使用できると思うので、データベースに書き込むことができます。私が使用している場合、エグゼキュータは私がジョブを送信したことをどのように知ることができAsyncHttpClient.get()
ますか?
AsyncHttpClient client = new AsyncHttpClient();
int limit = 20;
BlockingQueue<Runnable> q = new ArrayBlockingQueue<Runnable>(limit);
ThreadPoolExecutor executor =
new ThreadPoolExecutor(limit, limit, 20, TimeUnit.SECONDS, q);
client.setThreadPool(executor);
parseSilo(url, context); // this fires client.get() ... as it encounters urls in JSON feed
executor.shutdown();
while (!executor.awaitTermination(10, TimeUnit.SECONDS)) {
Log.e(TAG, executor.getTaskCount() + " tasks left");
}