我正在创建一个Android应用,需要制作一些并行HTTP / HTTPS请求(正好是10个)。
如何在android中创建此并行请求?
是否可以同时使用HTTP和HTTPS?
Obs:在Google搜索,我找到了ExecutorService
。我可以在android中使用它吗? (有人有例子吗?)
如果有人帮助解决了第一个问题,我将会遇到以下情况:
1 request one started -- (working) --> cloud
2 request two started -- (working) --> cloud
3 request three started -- (working) --> cloud
在几秒钟之后,第2个线程是第一个说'我完成了我的工作,这是页面的响应',第1和第3个线程正在工作。
如何停止/杀死第1和第3个线程?
答案 0 :(得分:1)
是的,您可以使用ExecutorService
ExecutorService executorService = Executors.newFixedThreadPool(n);
然后使用submit函数执行任务
executorService.submit(Runnable task);
但不能保证所有任务都会同时执行,这取决于可用的资源。
2。 你可以关闭游泳池;
executorService.shutdown();
但除了尽力尝试停止处理主动执行任务之外,没有任何保证。
如果你想使用asyncTask,请注意: 从HONEYCOMB开始,任务在单个线程上执行,以避免由并行执行引起的常见应用程序错误。
所以在单个线程上执行的任务不是几个线程