Java Thread Future getMinIn(Map> responses)

Here you can find the source of getMinIn(Map> responses)

Description

get Min In

License

Apache License

Declaration

public static long getMinIn(Map<String, Future<Long>> responses) 

Method Source Code

//package com.java2s;
/**/*from   ww  w  .ja v  a2s . co  m*/
 *
 * Copyright (C) 2010 Cloud Conscious, LLC. <info@cloudconscious.com>
 *
 * ====================================================================
 * 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.Collections;
import java.util.Map;

import java.util.concurrent.ExecutionException;

import java.util.concurrent.Future;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;

public class Main {
    public static long getMinIn(Map<String, Future<Long>> responses) {
        Iterable<Long> collection = Iterables.transform(responses.values(), new Function<Future<Long>, Long>() {

            @Override
            public Long apply(Future<Long> from) {
                try {
                    return from.get();
                } catch (InterruptedException e) {
                } catch (ExecutionException e) {
                }
                return null;
            }

        });
        long time = Collections.min(Sets.newHashSet(collection));
        return time;
    }
}

Related

  1. getAll(List> futures)
  2. getAllDone(Collection futures)
  3. getExceptionFromNewThread(String threadName, Runnable target)
  4. getFailedFuture(Throwable throwable)
  5. getFuture(Future future, String message)
  6. getResults(Iterable> futures)
  7. getSilently(Future future)
  8. getSysExeNameList()
  9. getUninterruptibly(Future future)