java - 我如何知道 For 循环中的所有异步操作何时完成?

标签 java gwt

我在一个列表上有一个 for 循环:

boolean initialized = false
for(final Share share : shares) {

    someInstance.check(new someCallback() {
        @Override
        public void onSuccess() {
            // do something
        }
    });         
}
initialized = true;

在每个步骤中,都会执行一个称为 check() 的异步操作。我想在所有 check() 操作完成后设置 initialized = true 。 有什么方法可以在 Java/GWT 中做到这一点?

我如何知道 For 循环中的所有异步操作何时完成?

最佳答案

每次 onSuccess 被调用时,只需增加一些共享计数器来计算完成的次数。您知道您已经启动了多少个(比如 N),所以一旦 finished counter 达到相同的值 (N),您就知道它们都已完成。然后最后一个完成的将设置 initialized = true

关于java - 我如何知道 For 循环中的所有异步操作何时完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180309/

相关文章:

Linux 机器(UTC 时区)中的 Java 程序以 HDT 时区而不是 UTC 时区返回日期

java - 如何将 PostgreSQL 驱动程序 jar 文件放在 Eclipse 中的类路径中?

java - Socket 和 JSP 应用程序

java - Azure 将 java Web App(java) 连接到 SQLDatabase

java - 在多对多关系中收到 org.hibernate.id.IdentifierGenerationException

java - GWT/Mysql/Java 连接数据库

java - 客户端 GWT 和 Maven 好奇设置

java - GWT:地点、历史和 MVP 示例

java - 优化 GWT 片段加载序列

javascript - 从 iFrame 禁用 javascript 警报