/*** 1、业务场景  *1、定时执行时,可能出现数据量大,执行不完,线程直接被终止掉,丢数据。*/import java.util.ArrayList;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/***  1、首先创建线程池,针对线程池开启多个线程。*  2、for循环开始线程调用。*  3、线程执行完成终止掉线程。*/public class ForLoopMultiThreading {    public static void main(String[] args) {        // 创建一个ExecutorService,用于管理线程        ExecutorService executorService = Executors.newFixedThreadPool(5);        // 创建一个List,用于存储for循环的结果        List resultList = new ArrayList();        // 定义for循环的起始和结束值        int start = 0;        int end = 100;        // 创建一个for循环,用于计算0到100之间的所有整数        for (int i = start; i  {                // 在这个线程中执行for循环                for (int j = start; j <= end; j++) {                    System.out.println("Thread: " + Thread.currentThread().getName() + ", i: " + i + ", j: " + j);                }            });        }                  //慎用:存在数据量大执行不完,直接关闭线程池,数据丢失。   根据业务场景自定义          //如果线程内部报错,直接终止线程。按照定时任务执行的,定时执行五分钟一次。            try {                if (!executorService.awaitTermination(300, TimeUnit.SECONDS)) {                    // 如果任务在300秒内仍未完成,强制关闭线程池                    executorService.shutdownNow();                }            } catch (InterruptedException e) {                // 捕获异常,并强制关闭线程池                executorService.shutdownNow();                e.printStackTrace();            }                // 关闭ExecutorService        executorService.shutdown();        // 输出for循环的结果        System.out.println("Result List: " + resultList);    }}