javaThreadPoolExecutor并发调用实例详解-创新互联

java ThreadPoolExecutor 并发调用实例详解

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网页空间、营销软件、网站建设、牟平网站维护、网站推广。

概述


通常为了提供任务的处理速度,会使用一些并发模型,ThreadPoolExecutor中的invokeAll便是一种。

代码


package test.current;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

public class TestCallable {

  public static void main(String[] args) throws InterruptedException, ExecutionException {

    List>> tasks = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
      Callable> task = new Callable>() {
        @Override
        public List call() throws Exception {
          return Arrays.asList(1L,2L);
        }
      };

      tasks.add(task);
    }

    List finalResults = new ArrayList<>(10);
    List>> results = ThreadPool.getThreadPool().invokeAll(tasks);
    for(Future> ele : results) {
      List list = ele.get();
      finalResults.addAll(list);
    }

    System.out.println(finalResults);
  }
}


网站栏目:javaThreadPoolExecutor并发调用实例详解-创新互联
标题网址:http://ybzwz.com/article/ddiiho.html