Java 如何等待多个截击请求完成?

Java 如何等待多个截击请求完成?,java,android,android-volley,Java,Android,Android Volley,我正在编写一个应用程序,它使用Google的Volley API执行一系列请求。问题是我不知道请求何时完成。在我进一步行动之前,我需要知道一个请求是否已经完成。我不能用while循环或sleep/wait方法等待一定的时间,因为它似乎会停止执行请求的线程。显然,请求有onResponse回调,我可以使用它来标记单个请求何时完成。但我有一个活动可以发出多个请求,我希望该活动处于待机状态,直到所有请求都得到处理。正如我所说,我不能简单地等待/睡眠,因为这会使请求队列睡眠。我是否需要编写一个监控请求的

我正在编写一个应用程序,它使用Google的Volley API执行一系列请求。问题是我不知道请求何时完成。在我进一步行动之前,我需要知道一个请求是否已经完成。我不能用while循环或sleep/wait方法等待一定的时间,因为它似乎会停止执行请求的线程。显然,请求有onResponse回调,我可以使用它来标记单个请求何时完成。但我有一个活动可以发出多个请求,我希望该活动处于待机状态,直到所有请求都得到处理。正如我所说,我不能简单地等待/睡眠,因为这会使请求队列睡眠。我是否需要编写一个监控请求的服务?我真的不知道该怎么办


S.I使用的是单点请求队列。

< P>可以考虑使用java的代码> CONTULTLATCH < /COD>来完成这些请求,如果请求不需要串行地完成。查看此处的答案:了解更多详细信息。

不等待就调用
onresponse()
中的另一个请求有什么不对?嗯,这其实是个聪明的主意。因此,您建议不要一次将所有请求排队,而是通过onResponse回调一次链接一个请求?是的,这样您就可以保持流。另外,我认为你在这里有更多的控制权。假设,您希望执行10个请求,但当4个请求完成后,服务器或internet不知何故停机,此时您可以停止调用其他请求,并向用户显示某个错误的通知。您是否能够解决此问题?我正在寻找类似问题的答案。如果解决方案正常运行,请更新。我猜OP不想共享他们的知识OP的请求在同一个线程上,这将不起作用。@SH7890,哪里说请求在同一个线程上?凌空处理背景中的线程。仅仅因为您从同一线程发出请求并不意味着它们在同一线程中执行(事实上,如果它们是从活动调用的,则不能执行,否则会引发NetworkOnMainThread异常)。“因为它似乎会停止执行请求的线程。”我认为这意味着它们是在同一个线程上执行的,这也符合我自己的经验。