62 lines
1.8 KiB
Java
62 lines
1.8 KiB
Java
|
|
package com.njcn;
|
|||
|
|
|
|||
|
|
import cn.hutool.core.collection.CollUtil;
|
|||
|
|
import com.njcn.csdevice.pojo.po.CsEquipmentDeliveryPO;
|
|||
|
|
import lombok.RequiredArgsConstructor;
|
|||
|
|
import lombok.SneakyThrows;
|
|||
|
|
import lombok.extern.slf4j.Slf4j;
|
|||
|
|
import org.springframework.stereotype.Component;
|
|||
|
|
|
|||
|
|
import java.util.ArrayList;
|
|||
|
|
import java.util.List;
|
|||
|
|
import java.util.concurrent.*;
|
|||
|
|
|
|||
|
|
@Component
|
|||
|
|
@Slf4j
|
|||
|
|
@RequiredArgsConstructor
|
|||
|
|
public class TestXianCheng {
|
|||
|
|
|
|||
|
|
|
|||
|
|
private static final long AUTO_TIME = 120L;
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static void main(String[] args) {
|
|||
|
|
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
|||
|
|
Runnable task = () -> {
|
|||
|
|
log.info("轮询定时任务执行中!");
|
|||
|
|
ExecutorService executor = Executors.newFixedThreadPool(10);
|
|||
|
|
// 创建一个ExecutorService来处理这些任务
|
|||
|
|
List<Future<Void>> futures = new ArrayList<>();
|
|||
|
|
// 提交任务给线程池执行
|
|||
|
|
for (int i = 0; i < 10; i++) {
|
|||
|
|
int index = i;
|
|||
|
|
futures.add(executor.submit(new Callable<Void>() {
|
|||
|
|
@Override
|
|||
|
|
public Void call() {
|
|||
|
|
access();
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
}));
|
|||
|
|
}
|
|||
|
|
// 等待所有任务完成
|
|||
|
|
for (Future<Void> future : futures) {
|
|||
|
|
try {
|
|||
|
|
future.get();
|
|||
|
|
} catch (InterruptedException | ExecutionException e) {
|
|||
|
|
throw new RuntimeException(e);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
// 关闭ExecutorService
|
|||
|
|
executor.shutdown();
|
|||
|
|
};
|
|||
|
|
//第一次执行的时间为120s,然后每隔120s执行一次
|
|||
|
|
scheduler.scheduleAtFixedRate(task,0,1,TimeUnit.SECONDS);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static void access() {
|
|||
|
|
System.out.println("123");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|