Java并发工具库:理解和应用ExecutorService的例子
在Java的并发工具库中,ExecutorService
是线程池接口,用于管理和控制执行任务的线程。以下是一个理解和应用ExecutorService
的例子:
场景:假设我们有一个简单的任务,那就是计算1到100的所有整数的和。
代码实现:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class SumCalculator {
private ExecutorService executor;
public SumCalculator() {
// 创建一个线程池,这里我们创建一个固定大小的线程池
this.executor = Executors.newFixedThreadPool(10); // 这里可以根据实际需要调整线程数
}
public long calculateSum() throws InterruptedException {
// 提交任务到线程池,这里计算所有整数的和的任务
final Long sumTaskResult = executor.submit(() -> {
long result = 0;
for (int i = 1; i <= 100; i++) {
result += i;
}
return result;
})).get();
// 确保线程池已关闭
executor.shutdown();
return sumTaskResult;
}
public static void main(String[] args) throws InterruptedException {
SumCalculator calculator = new SumCalculator();
long sum = calculator.calculateSum();
System.out.println("Sum of 1 to 100 is: " + sum);
}
}
在这个例子中,我们创建了一个ExecutorService
来管理和控制线程。然后提交一个计算所有整数和的任务到线程池,最后获取并打印结果。
还没有评论,来说两句吧...