Java Thread Future sumFutures(List> futures)

Here you can find the source of sumFutures(List> futures)

Description

Given futures from the various ThreadServiceStats, wait for them to finish and add their numeric values together.

License

Open Source License

Parameter

Parameter Description
futures a parameter

Declaration


public static long sumFutures(List<Future<Object>> futures) 

Method Source Code

//package com.java2s;
/**//from  w  w  w.  j  av a 2  s.com
 * Copyright 2007-2016, Kaazing Corporation. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.List;
import java.util.concurrent.Future;

public class Main {
    /**
     * Given futures from the various ThreadServiceStats, wait for them to finish and add their numeric values together. The
     * Futures are all Future<Object> so we don't have to have lots of different ones, so we coerce types here.
     *
     * @param futures
     * @return
     */
    // This must NOT run on any IO worker thread
    public static long sumFutures(List<Future<Object>> futures) {
        long total = 0;

        for (Future<Object> f : futures) {
            try {
                total += (Long) f.get();
            } catch (Exception ignore) {
                System.out.println("### sumFutures got exception!");
            }
        }

        return total;
    }
}

Related

  1. sequence(List> futures)
  2. sequence(List> futures)
  3. sequence(List> futures)
  4. sequence(List> futures)
  5. submitTasks(ExecutorCompletionService ecs, Iterable> tasks)
  6. transferResult(final CompletionStage source, final CompletableFuture target)
  7. transferResult(final CompletionStage source, final CompletableFuture target)
  8. unwrap(Throwable throwable, Class throwableA)
  9. waitFor(Future future)