mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-04-10 20:43:15 +08:00
update 优化 增加线程工具简化虚拟线程语法
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package org.dromara.common.core.utils;
|
||||
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.*;
|
||||
|
||||
/**
|
||||
* 线程工具
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class ThreadUtils {
|
||||
|
||||
/**
|
||||
* 批量执行任务
|
||||
*/
|
||||
public static void virtualSubmit(Runnable ...runnableList) {
|
||||
List<Future<?>> callableList = new ArrayList<>();
|
||||
try (ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor()) {
|
||||
for (Runnable runnable : runnableList) {
|
||||
callableList.add(executor.submit(runnable));
|
||||
}
|
||||
for (Future<?> future : callableList) {
|
||||
future.get();
|
||||
}
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user