public class SyncFinisher extends Object implements Closeable
ps: //模拟1000个线程并发 SyncFinisher sf = new SyncFinisher(1000); sf.addWorker(() -> { // 需要并发测试的业务代码 }); sf.start()
Modifier and Type | Class and Description |
---|---|
class |
SyncFinisher.Worker
工作者,为一个线程
|
Constructor and Description |
---|
SyncFinisher(int threadSize)
构造
|
Modifier and Type | Method and Description |
---|---|
SyncFinisher |
addRepeatWorker(Runnable runnable)
增加定义的线程数同等数量的worker
|
SyncFinisher |
addWorker(Runnable runnable)
增加工作线程
|
SyncFinisher |
addWorker(SyncFinisher.Worker worker)
增加工作线程
|
void |
clearWorker()
清空工作线程对象
|
void |
close() |
long |
count()
剩余任务数
|
SyncFinisher |
setBeginAtSameTime(boolean isBeginAtSameTime)
设置是否所有worker线程同时开始
|
SyncFinisher |
setExceptionHandler(Thread.UncaughtExceptionHandler exceptionHandler)
设置异常处理
|
SyncFinisher |
setExecutorService(ExecutorService executorService)
设置自定义线程池,默认为
ExecutorBuilder 创建的线程池 |
void |
start()
开始工作
执行此方法后如果不再重复使用此对象,需调用 stop() 关闭回收资源。 |
void |
start(boolean sync)
开始工作
执行此方法后如果不再重复使用此对象,需调用 stop() 关闭回收资源。 |
void |
stop()
结束线程池。
|
void |
stopNow()
立即结束线程池所有线程。
|
public SyncFinisher setExecutorService(ExecutorService executorService)
ExecutorBuilder
创建的线程池executorService
- 线程池public SyncFinisher setBeginAtSameTime(boolean isBeginAtSameTime)
isBeginAtSameTime
- 是否所有worker线程同时开始public SyncFinisher setExceptionHandler(Thread.UncaughtExceptionHandler exceptionHandler)
exceptionHandler
- 异常处理器public SyncFinisher addRepeatWorker(Runnable runnable)
runnable
- 工作线程public SyncFinisher addWorker(Runnable runnable)
runnable
- 工作线程public SyncFinisher addWorker(SyncFinisher.Worker worker)
worker
- 工作线程public void start()
stop()
关闭回收资源。public void start(boolean sync)
stop()
关闭回收资源。sync
- 是否阻塞等待public void stop()
public void stopNow()
public void clearWorker()
public long count()
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
Copyright © 2024. All rights reserved.