併發請求案列


public static void main(String[] args) throws ExecutionException, InterruptedException {
    long start = System.currentTimeMillis();
    List<String> address = Arrays.asList("", "2", "3");
    HashMap<String, Future<Double>> result = new HashMap<>();
    for (String addr : address) {
        Future<Double> future = CacheThreadPool.getExecutor().submit(() -> getAmount(addr));
        result.put(addr, future);
    }

    for (Future<Double> value : result.values()) {
        System.out.println(value.get());
    }
    System.out.println(System.currentTimeMillis() - start);

}

public static double getAmount(String addr) throws InterruptedException {
    //此處處理http請求
    Thread.sleep(2000);

    return 100;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章