当前位置: 首页 > 知识库问答 >
问题:

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

邓仲卿
2023-03-14

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

另外,我使用的是这里描述的单例请求队列。

共有1个答案

程仲卿
2023-03-14

如果请求不需要串行完成,您可以考虑使用Java的CountDownLatch来完成此任务。有关更多详细信息,请参阅此处的答案:如何在Java多线程中使用CountDownLatch?

 类似资料:
  • 我目前是Jmeter的新手,正在尝试创建一个Jmeter脚本来测试处理和完成请求所需的时间。 a)使用令牌进行身份验证-完成b)发送请求-完成-返回200 c)获取请求-部分完成 C:我正试图得到能够监控这个请求,以找出它什么时候完成,失败等等。 我从研究JSR223采样器开始,但想看看是否有更好更简单的方法来实现这一点。 列表sendGet(字符串url,map 正文){

  • 我正在运行这样的多个服务:(例如,在多个线程中读取文件) 是一个扩展类的类,它正在做一些事情,比如读取文件。它是从另一个线程调用的,该线程不是JavaFX应用程序线程。 我如何等到所有这些服务完成后再调用? 可复制的例子:

  • 问题内容: 在Bash中,可以通过追加在后台执行命令。如何在Python中完成? 问题答案: 我用。我在模块级别创建一个单例线程池,然后用于启动任务。 该命令给了我一个未来,我可以将它无限期地与其他未来添加到列表中,直到我想收集全部或部分结果为止。 出于所有逻辑和理由,是一个THREAD池而不是一个进程池。 示例(只要安装了请求,就可以在Python 2和3中使用): 这些请求将同时执行,因此运行

  • 问题内容: 我正在尝试编写一个JS代码,如果给定的数字已经存在于数据库中,它将取消“ btn_submit”按钮.onclick事件。我使用AJAX向数据库查询给定的编号,并确定是否应将数据发送到将上传问题的.php站点。为了确定这一点,我需要numOfRows变量的值,但是因为我在AJAX中将其设置为0,所以validation()函数将在我的AJAX查询完成之前完成,这将导致始终表示给定数字不

  • 问题内容: 有什么方法可以简单地等待所有线程处理完成?例如,假设我有: 如何更改此方法,以便该方法在注释处暂停直到所有线程的方法退出?谢谢! 问题答案: 你将所有线程放入数组中,全部启动,然后进行循环 每个连接将阻塞,直到相应的线程完成为止。线程的完成顺序可能不同于你加入线程的顺序,但这不是问题:退出循环时,所有线程均已完成。

  • 我有一个简单的Java程序,它使用SpringWebClient发送多个请求。每个都返回一个mono,我使用的是response。subscribe()以检查结果。 但是,我的主执行线程在处理所有请求之前完成,除非我添加一个长线程。睡眠()。 对于CompletableFutures,您可以使用:CompletableFuture。allOf(期货)。join(); 有没有办法等待所有单声道的完成