Java线程池

描述

创建 Java 线程池,并向线程池提交任务。

题目

运用线程池技术,向线程池提交计算 1–100 的所有数字的累加和的任务。

题目解决思路

  1. 创建一个实现 Callable 接口的线程类。
  2. 使用 Executors 创建线程池。
  3. 使用 submit 提交任务给线程池。
  4. 关闭线程池。

代码具体实现

MyThread 类:

public class MyThread implements Callable { @Override public Object call() throws Exception { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } return sum; } }

测试类:

public class Test { public static void main(String[] args) throws ExecutionException, InterruptedException { System.out.println("嗨客网(www.haicoder.net)\n"); // 创建线程池 ExecutorService service = Executors.newFixedThreadPool(3); // 计算并打印结果 Future result = service.submit(new MyThread()); System.out.println("1--100 的和为:" + result.get()); // 关闭线程池 service.shutdown(); } }

运行结果如下图:

22 Java 线程池.png

以上案例创建 Java 线程池,并向线程池提交任务。