Class | Description |
---|---|
AsyncUtil | |
BlockPolicy |
当任务队列过长时处于阻塞状态,直到添加到队列中
如果阻塞过程中被中断,就会抛出
InterruptedException 异常有时候在线程池内访问第三方接口,只希望固定并发数去访问,并且不希望丢弃任务时使用此策略,队列满的时候会处于阻塞状态(例如刷库的场景) |
ConcurrencyTester |
高并发测试工具类
ps:
//模拟1000个线程并发
ConcurrencyTester ct = new ConcurrencyTester(1000);
ct.test(() -> {
// 需要并发测试的业务代码
});
Console.log(ct.getInterval());
ct.close();
|
DelegatedExecutorService |
ExecutorService代理
|
ExecutorBuilder |
ThreadPoolExecutor 建造者
1. |
FinalizableDelegatedExecutorService |
保证ExecutorService在对象回收时正常结束
|
GlobalThreadPool |
全局公共线程池
此线程池是一个无限线程池,即加入的线程不等待任何线程,直接执行 |
NamedThreadFactory |
线程创建工厂类,此工厂可选配置:
1.
|
RecyclableBatchThreadPoolExecutor |
可召回批处理线程池执行器
1.数据分批并行处理
2.主线程、线程池混合执行批处理任务,主线程空闲时会尝试召回线程池队列中的任务执行
3.线程安全,可用同时执行多个任务,线程池满载时,效率与单线程模式相当,无阻塞风险,无脑提交任务即可
适用场景:
1.批量处理数据且需要同步结束的场景,能一定程度上提高吞吐量、防止任务堆积
RecyclableBatchThreadPoolExecutor.process(List, int, Function)
2.普通查询接口加速 RecyclableBatchThreadPoolExecutor.processByWarp(Warp[])
|
RecyclableBatchThreadPoolExecutor.Warp<R> |
处理逻辑包装类
|
SemaphoreRunnable |
带有信号量控制的
Runnable 接口抽象实现
通过设置信号量,可以限制可以访问某些资源(物理或逻辑的)线程数目。 |
SyncFinisher |
线程同步结束器
在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 |
ThreadFactoryBuilder |
ThreadFactory创建器
参考:Guava的ThreadFactoryBuilder |
ThreadUtil |
线程池工具
|
Enum | Description |
---|---|
RejectPolicy |
线程拒绝策略枚举
如果设置了maxSize, 当总线程数达到上限, 会调用RejectedExecutionHandler进行处理,此枚举为JDK预定义的几种策略枚举表示
|
Exception | Description |
---|---|
ThreadException |
工具类异常
|
Copyright © 2025. All rights reserved.