Android / Java: как выполнять несколько HTTP-запросов параллельно и повторяясь? - PullRequest
0 голосов
/ 07 октября 2018

У меня есть список новостных лент, которые я хотел бы читать бесконечно.

Текущий подход, 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мне не нравится мой текущий подход , потому что:

  1. while(true) не кажется правильным.
  2. Я создаю новые ReaderThread s и выполняю Retrofit запрос (что является другим потоком?) внутри каждого ReaderThread.
  3. ExecutorService, кажется, используется неправильно.

Я бы хотелзнать правильное решение для достижения моей цели. Есть идеи?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...