嵌套for循环在外层循环和内层循环中使用两个Executors.newCachedThreadPool缓存线程池执行操作

1. 首先,我们需要创建两个ExecutorService对象,这两个对象将作为我们的缓存线程池。

2. 然后,我们使用嵌套的for循环来执行我们的操作。在每个外层循环中,我们将创建一个新的任务并提交给外层线程池。在这个任务中,我们将创建一个新的内层循环,并在每个内层循环中创建一个新的任务并提交给内层线程池。

3. 最后,我们需要确保所有的任务都已经完成,所以我们需要调用ExecutorService的shutdown方法来关闭线程池。

java 复制代码
// 创建两个缓存线程池
public static ThreadFactory resizeImageThreadFactory = new ThreadFactoryBuilder()
            .setNameFormat("resizeImageThread-pool-%d")
            .build();

public static ExecutorService outerExecutor = Executors.newCachedThreadPool(resizeImageThreadFactory);

public static ExecutorService innerExecutor = Executors.newCachedThreadPool(resizeImageThreadFactory);
java 复制代码
import java.util.concurrent.*;

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

        // 使用嵌套的for循环来执行操作
        for (int i = 0; i < 10; i++) {
            final int outerIndex = i;
            outerExecutor.submit(() -> {
                for (int j = 0; j < 10; j++) {
                    final int innerIndex = j;
                    innerExecutor.submit(() -> {
                        System.out.println("Outer loop index: " + outerIndex + ", Inner loop index: " + innerIndex);
                    });
                }
            });
        }

        // 确保所有的任务都已经完成
        outerExecutor.shutdown();
        innerExecutor.shutdown();
    }
}
相关推荐
起个名特麻烦3 分钟前
SpringBoot全局配置LocalDate/LocalTime/LocalDateTime的序列化和反序列化
java·spring boot·后端
高斯林.神犇8 分钟前
四、依赖注入.spring
java·后端·spring
hero.fei11 分钟前
在springboot中使用Resilience4j
java·spring boot·后端
沐苏瑶12 分钟前
Java算法之排序
java·算法·排序算法
java1234_小锋17 分钟前
Java高频面试题:Redis是单线程还是多线程?
java·redis·面试
工具罗某人17 分钟前
docker实现redis-cluster模式集群部署
java·redis·docker
用户2986985301419 分钟前
后端一次搞定 HTML 转 PDF?不装浏览器也能干的简易方案
java·后端
摇滚侠32 分钟前
从 Vibe Coding 到 Spec Coding:研发范式演进与高质量交付
java·人工智能·ai编程
刘~浪地球33 分钟前
Redis 从入门到精通(十四):内存管理与淘汰策略
数据库·redis·缓存
hINs IONN1 小时前
maven导入spring框架
数据库·spring·maven