多工自動調整Thread數量
減少因應突然大量資料侵入時,可根據策略來調整多工數量,以降低數量壓力
/**
* 任務拆分服務
*/
public interface IGroupTaskService {
/**
* 任務執行
* @param groupTaskOption
* @param <T>
*/
<T> void execute(GroupTaskOption<T> groupTaskOption);
interface IGroupTask<T> {
void run(List<T> tasks);
}
}
void test() {
GroupTaskService groupTaskService = new GroupTaskService();
GroupTaskOption.GroupTaskOptionBuilder<Integer> groupTaskOptionBuilder = new GroupTaskOption.GroupTaskOptionBuilder();
GroupTaskOption<Integer> input = groupTaskOptionBuilder
.name("test")//
.threadSize(threadSize)//
.groupSize(groupSize)//
.task(run)//
.tasks(collect)//
.build();
groupTaskService.execute(input);
}
<dependency>
<groupId>io.github.h8000572003</groupId>
<artifactId>commons-thread</artifactId>
<version>0.0.3</version>
</dependency>
Last updated
Was this helpful?