关于java:多个http请求和取消请求

Multiple http requests with cancel request

我正在创建一个 Android 应用,它需要发出一些并行 HTTP/HTTPS 请求(正好 10 个)。

第一步

如何在 android 中进行并行请求?

可以同时使用HTTP和HTTPS吗?

Obs:在 google 中搜索,我找到了 ExecutorService。我可以在android中使用它吗? (有人有例子吗?)

第二步

如果有人帮助解决第一个问题,我将有以下情况:

1
2
3
1 request one started   -- (working) --> cloud
2 request two started   -- (working) --> cloud
3 request three started -- (working) --> cloud

几秒钟后,线程 2 第一个说"我完成了我的工作,这是页面的响应",线程 1 和 3 正在工作。

如何停止/杀死线程 1 和 3?


  • 是的,你可以使用 ExecutorService

    ExecutorService executorService = Executors.newFixedThreadPool(n);

  • 然后使用提交函数执行任务

    1
    executorService.submit(Runnable task);

    但不能保证所有任务会同时执行,这取决于可用资源。

    2。
    您可以关闭池;

    1
    executorService.shutdown();

    但是除了尽力停止处理正在执行的任务之外,没有任何保证。

    如果你想使用 asyncTask 请注意:
    从 HONEYCOMB 开始,任务在单个线程上执行,以避免并行执行导致的常见应用程序错误。

    所以任务在单个线程上执行而不是多个线程