public class SyncFinisher extends Object
description
| 限定符和类型 | 类和说明 |
|---|---|
class |
SyncFinisher.Worker
工作者,为一个线程
|
| 限定符和类型 | 字段和说明 |
|---|---|
private CountDownLatch |
beginLatch
启动同步器,用于保证所有worker线程同时开始
|
private CountDownLatch |
endLatch
结束同步器,用于等待所有worker线程同时结束
|
private ExecutorService |
executorService |
private boolean |
isBeginAtSameTime |
private int |
threadSize |
private Set<SyncFinisher.Worker> |
workers |
| 构造器和说明 |
|---|
SyncFinisher(int threadSize)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
SyncFinisher |
addRepeatWorker(Runnable runnable)
增加定义的线程数同等数量的worker
|
SyncFinisher |
addWorker(Runnable runnable)
增加工作线程
|
SyncFinisher |
addWorker(SyncFinisher.Worker worker)
增加工作线程
|
void |
await()
已过时。
使用start方法指定是否阻塞等待
|
void |
clearWorker()
清空工作线程对象
|
long |
count()
剩余任务数
|
SyncFinisher |
setBeginAtSameTime(boolean isBeginAtSameTime)
设置是否所有worker线程同时开始
|
void |
start()
开始工作
|
void |
start(boolean sync)
开始工作
|
private final Set<SyncFinisher.Worker> workers
private final int threadSize
private final ExecutorService executorService
private boolean isBeginAtSameTime
private final CountDownLatch beginLatch
private CountDownLatch endLatch
public SyncFinisher setBeginAtSameTime(boolean isBeginAtSameTime)
isBeginAtSameTime - 是否所有worker线程同时开始public SyncFinisher addRepeatWorker(Runnable runnable)
runnable - 工作线程public SyncFinisher addWorker(Runnable runnable)
runnable - 工作线程public SyncFinisher addWorker(SyncFinisher.Worker worker)
worker - 工作线程public void start()
public void start(boolean sync)
sync - 是否阻塞等待@Deprecated public void await() throws InterruptedException
InterruptedException - 用户中断public void clearWorker()
public long count()
Copyright © 2020. All rights reserved.