public class TaskWorkers extends Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
TaskWorkers.TaskSpi0 |
static interface |
TaskWorkers.TaskSpi1<T> |
static interface |
TaskWorkers.TaskSpi2<T,U> |
static interface |
TaskWorkers.TaskSpi3<T,U,V> |
static interface |
TaskWorkers.TaskSpi4<T,U,V,W> |
static interface |
TaskWorkers.TaskSpi5<T,U,V,W,X> |
static interface |
TaskWorkers.TaskSpi6<T,U,V,W,X,Y> |
class |
TaskWorkers.WorkerTask |
| Modifier and Type | Field and Description |
|---|---|
(package private) static int |
DEFAULT_WORKERs |
| Constructor and Description |
|---|
TaskWorkers()
デフォルトのWorker数でTaskWorkersを作成する.
|
TaskWorkers(int mw)
Worker数を指定してTaskWorkersを作成する.
|
TaskWorkers(TaskWorkers p)
親TaskWorkersのセマフォも参照するTaskWorkersを作成する.
|
TaskWorkers(TaskWorkers p,
int mw)
親TaskWorkersのセマフォも参照するTaskWorkersを作成する.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
currentThreadIsWorker()
Check current thread is active worker.
|
int |
getTaskQueueSize()
Get maximum task queue size.
|
int |
getWorkers()
Get maximum number of workers to be executed
|
boolean |
hasFreeTaskSpace()
Check task worker has free space.
|
boolean |
hasFreeWorker()
Check task worker has free worker.
|
boolean |
hasTasks()
Has Tasks (queued + under-executing).
|
void |
moveTaskToAhead(TaskWorkers.WorkerTask task)
Move task to ahead of queue
|
int |
numberOfWorkers()
Get number of alive workers.
|
TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi0 spi)
Offer task (0 argument version).
|
TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi0 spi,
int qsize)
Offer task (0 argument version).
|
<T> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi1<T> spi,
T arg1)
Offer task (1 argument version).
|
<T> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi1<T> spi,
T arg1,
int qsize)
Offer task (1 argument version).
|
<T,U> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi2<T,U> spi,
T arg1,
U arg2)
Offer task (2 arguments version).
|
<T,U> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi2<T,U> spi,
T arg1,
U arg2,
int qsize)
Offer task (2 arguments version).
|
<T,U,V> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi3<T,U,V> spi,
T arg1,
U arg2,
V arg3)
Offer task (3 arguments version).
|
<T,U,V> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi3<T,U,V> spi,
T arg1,
U arg2,
V arg3,
int qsize)
Offer task (3 arguments version).
|
<T,U,V,W> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi4<T,U,V,W> spi,
T arg1,
U arg2,
V arg3,
W arg4)
Offer task (4 arguments version).
|
<T,U,V,W> TaskWorkers.WorkerTask |
offerTask(TaskWorkers.TaskSpi4<T,U,V,W> spi,
T arg1,
U arg2,
V arg3,
W arg4,
int qsize)
Offer task (4 arguments version).
|
void |
printWorkersStatistics(PrintStream out)
Print the statistics of workers.
|
void |
printWorkersStatistics(PrintWriter out)
Print the statistics of workers.
|
void |
resetWorkersStatistics()
Reset the statistics of worker.
|
void |
setParentTaskWorkers(TaskWorkers p)
Set parenet TaskWorkers
|
void |
setTaskQueueSize(int mw)
Set maximum task queue size.
|
void |
setWorkerAsDaemon(boolean on)
Set worker as daemon.
|
boolean |
setWorkerKeepAlive(boolean a)
Set keep-alive mode.
|
void |
setWorkerPriority(int priority) |
void |
setWorkers(int mw)
Set maximum number of workers to be executed.
|
TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi0 spi)
Start worker (0 argument version).
|
TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi0 spi,
int qsize)
Start worker (0 argument version).
|
<T> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi1<T> spi,
T arg1)
Start worker (1 argument version).
|
<T> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi1<T> spi,
T arg1,
int qsize)
Start worker (1 argument version).
|
<T,U> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi2<T,U> spi,
T arg1,
U arg2)
Start worker (2 arguments version).
|
<T,U> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi2<T,U> spi,
T arg1,
U arg2,
int qsize)
Start worker (2 arguments version).
|
<T,U,V> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi3<T,U,V> spi,
T arg1,
U arg2,
V arg3)
Start worker (3 arguments version).
|
<T,U,V> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi3<T,U,V> spi,
T arg1,
U arg2,
V arg3,
int qsize)
Start worker (3 arguments version).
|
<T,U,V,W> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi4<T,U,V,W> spi,
T arg1,
U arg2,
V arg3,
W arg4)
Start worker (4 arguments version).
|
<T,U,V,W> TaskWorkers.WorkerTask |
startWorker(TaskWorkers.TaskSpi4<T,U,V,W> spi,
T arg1,
U arg2,
V arg3,
W arg4,
int qsize)
Start worker (4 arguments version).
|
<T,U,V,W,X> |
startWorker(TaskWorkers.TaskSpi5<T,U,V,W,X> spi,
T arg1,
U arg2,
V arg3,
W arg4,
X arg5)
Start worker (5 arguments version).
|
<T,U,V,W,X> |
startWorker(TaskWorkers.TaskSpi5<T,U,V,W,X> spi,
T arg1,
U arg2,
V arg3,
W arg4,
X arg5,
int qsize)
Start worker (5 arguments version).
|
<T,U,V,W,X,Y> |
startWorker(TaskWorkers.TaskSpi6<T,U,V,W,X,Y> spi,
T arg1,
U arg2,
V arg3,
W arg4,
X arg5,
Y arg6)
Start worker (6 arguments version).
|
<T,U,V,W,X,Y> |
startWorker(TaskWorkers.TaskSpi6<T,U,V,W,X,Y> spi,
T arg1,
U arg2,
V arg3,
W arg4,
X arg5,
Y arg6,
int qsize)
Start worker (6 arguments version).
|
void |
waitForTask(TaskWorkers.WorkerTask task,
boolean assist)
Wait for specific Task.
|
void |
waitForTasks(Collection<TaskWorkers.WorkerTask> tasks,
boolean assist)
Wait for specific Tasks.
|
void |
waitForWorkers()
Wait for worker job.
|
static final int DEFAULT_WORKERs
public TaskWorkers()
public TaskWorkers(int mw)
mw - 最大Worker数.public TaskWorkers(TaskWorkers p)
p - 親.public TaskWorkers(TaskWorkers p, int mw)
p - 親.mw - 最大Worker数.public void setParentTaskWorkers(TaskWorkers p)
p - parent TaskWorkers.public void setWorkers(int mw)
mw - maximum number of workers.public int getWorkers()
public void setTaskQueueSize(int mw)
mw - maximum queue size.public int getTaskQueueSize()
public boolean setWorkerKeepAlive(boolean a)
a - new-keep-alive.public void setWorkerAsDaemon(boolean on)
on - daemon.public void setWorkerPriority(int priority)
public boolean hasFreeTaskSpace()
public boolean hasFreeWorker()
public boolean currentThreadIsWorker()
public int numberOfWorkers()
public TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi0 spi, int qsize)
spi - worker object.qsize - acceptable queue size.public TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi0 spi)
spi - worker object.public <T> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi1<T> spi, T arg1, int qsize)
T - type of 1st argumentspi - worker object.arg1 - 1st argumentqsize - acceptable queue size.public <T> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi1<T> spi, T arg1)
T - type of 1st argumentspi - worker object.arg1 - 1st argumentpublic <T,U> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi2<T,U> spi, T arg1, U arg2, int qsize)
T - type of 1st argumentU - type of 2nd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentqsize - acceptable queue size.public <T,U> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi2<T,U> spi, T arg1, U arg2)
T - type of 1st argumentU - type of 2nd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentpublic <T,U,V> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi3<T,U,V> spi, T arg1, U arg2, V arg3, int qsize)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentqsize - acceptable queue size.public <T,U,V> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi3<T,U,V> spi, T arg1, U arg2, V arg3)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentpublic <T,U,V,W> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi4<T,U,V,W> spi, T arg1, U arg2, V arg3, W arg4, int qsize)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentqsize - acceptable queue size.public <T,U,V,W> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi4<T,U,V,W> spi, T arg1, U arg2, V arg3, W arg4)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentpublic <T,U,V,W,X> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi5<T,U,V,W,X> spi, T arg1, U arg2, V arg3, W arg4, X arg5, int qsize)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentX - type of 5th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentarg5 - 5th argumentqsize - acceptable queue size.public <T,U,V,W,X> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi5<T,U,V,W,X> spi, T arg1, U arg2, V arg3, W arg4, X arg5)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentX - type of 5th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentarg5 - 5th argumentpublic <T,U,V,W,X,Y> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi6<T,U,V,W,X,Y> spi, T arg1, U arg2, V arg3, W arg4, X arg5, Y arg6, int qsize)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentX - type of 5th argumentY - type of 6th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentarg5 - 5th argumentarg6 - 6th argumentqsize - acceptable queue size.public <T,U,V,W,X,Y> TaskWorkers.WorkerTask startWorker(TaskWorkers.TaskSpi6<T,U,V,W,X,Y> spi, T arg1, U arg2, V arg3, W arg4, X arg5, Y arg6)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentX - type of 5th argumentY - type of 6th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentarg5 - 5th argumentarg6 - 6th argumentpublic TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi0 spi, int qsize)
spi - worker object.qsize - acceptable queue size.public TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi0 spi)
spi - worker object.public <T> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi1<T> spi, T arg1, int qsize)
T - type of 1st argumentspi - worker object.arg1 - 1st argumentqsize - acceptable queue size.public <T> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi1<T> spi, T arg1)
T - type of 1st argumentspi - worker object.arg1 - 1st argumentpublic <T,U> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi2<T,U> spi, T arg1, U arg2, int qsize)
T - type of 1st argumentU - type of 2nd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentqsize - acceptable queue size.public <T,U> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi2<T,U> spi, T arg1, U arg2)
T - type of 1st argumentU - type of 2nd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentpublic <T,U,V> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi3<T,U,V> spi, T arg1, U arg2, V arg3, int qsize)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentqsize - acceptable queue size.public <T,U,V> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi3<T,U,V> spi, T arg1, U arg2, V arg3)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentpublic <T,U,V,W> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi4<T,U,V,W> spi, T arg1, U arg2, V arg3, W arg4, int qsize)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentqsize - acceptable queue size.public <T,U,V,W> TaskWorkers.WorkerTask offerTask(TaskWorkers.TaskSpi4<T,U,V,W> spi, T arg1, U arg2, V arg3, W arg4)
T - type of 1st argumentU - type of 2nd argumentV - type of 3rd argumentW - type of 4th argumentspi - worker object.arg1 - 1st argumentarg2 - 2nd argumentarg3 - 3rd argumentarg4 - 4th argumentpublic void moveTaskToAhead(TaskWorkers.WorkerTask task)
task - Task.public void waitForWorkers()
public void waitForTask(TaskWorkers.WorkerTask task, boolean assist)
task - Task.assist - assist worker.public void waitForTasks(Collection<TaskWorkers.WorkerTask> tasks, boolean assist)
tasks - Tasks.assist - assist worker.public boolean hasTasks()
public void resetWorkersStatistics()
public void printWorkersStatistics(PrintStream out)
out - print stream.public void printWorkersStatistics(PrintWriter out)
out - print writer.EDB Working Group at Mon Dec 15 16:45:05 JST 2025