Package org.aoju.bus.core.thread
Class SyncFinisher
java.lang.Object
org.aoju.bus.core.thread.SyncFinisher
- All Implemented Interfaces:
Closeable,AutoCloseable
线程同步结束器 在完成一组正在其他线程中执行的操作之前, 它允许一个或多个线程一直等待 不能保证同时开始
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddRepeatWorker(Runnable runnable) 增加定义的线程数同等数量的worker增加工作线程addWorker(SyncFinisher.Worker worker) 增加工作线程void清空工作线程对象voidclose()longcount()剩余任务数setBeginAtSameTime(boolean isBeginAtSameTime) 设置是否所有worker线程同时开始voidstart()执行此方法后如果不再重复使用此对象,需调用stop()关闭回收资源voidstart(boolean sync) 执行此方法后如果不再重复使用此对象,需调用stop()关闭回收资源voidstop()结束线程池。voidstop(boolean isStopNow) 结束线程池。
-
Constructor Details
-
SyncFinisher
public SyncFinisher(int threadSize) 构造- Parameters:
threadSize- 线程数
-
-
Method Details
-
setBeginAtSameTime
设置是否所有worker线程同时开始- Parameters:
isBeginAtSameTime- 是否所有worker线程同时开始- Returns:
- this
-
addRepeatWorker
增加定义的线程数同等数量的worker- Parameters:
runnable- 工作线程- Returns:
- this
-
addWorker
-
addWorker
增加工作线程- Parameters:
worker- 工作线程- Returns:
- this
-
start
public void start()执行此方法后如果不再重复使用此对象,需调用stop()关闭回收资源 -
start
-
stop
public void stop()结束线程池。此方法执行两种情况:- 执行start(true)后,调用此方法结束线程池回收资源
- 执行start(false)后,用户自行判断结束点执行此方法
-
stop
public void stop(boolean isStopNow) 结束线程池。此方法执行两种情况:- 执行start(true)后,调用此方法结束线程池回收资源
- 执行start(false)后,用户自行判断结束点执行此方法
- Parameters:
isStopNow- 是否立即结束所有线程(包括正在执行的)
-
clearWorker
public void clearWorker()清空工作线程对象 -
count
public long count()剩余任务数- Returns:
- 剩余任务数
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-