У меня есть список новостных лент, которые я хотел бы читать бесконечно.
Текущий подход, NewsReaderService :
// ...
protected void onHandleIntent(Intent intent) {
// run endlessly
while(true) {
// One thread per URL
List<ReaderThread> threads = new ArrayList<>();
// Prepare one ReaderThread per URL
for (String url : readerUrls) {
threads.add(new ReaderThread(url));
}
// Execute all threads
ExecutorService executorService = Executors.newFixedThreadPool(threads.size());
executorService.invokeAll(tasks);
// Wait for all threads to finish
// Start all over again
}
}
// ...
Iмне не нравится мой текущий подход , потому что:
while(true)
не кажется правильным. - Я создаю новые
ReaderThread
s и выполняю Retrofit
запрос (что является другим потоком?) внутри каждого ReaderThread
. ExecutorService
, кажется, используется неправильно.
Я бы хотелзнать правильное решение для достижения моей цели. Есть идеи?
Заранее спасибо!