public class JobContext extends Object
Jobs class.
The instance affects to a job performace, three implementations are available.
JobContext jobContext = JobContext.forMultiJob(10);
Stream<Integer> result = jobContext.forEach(1, 2, 3)
.run(p -> p * 10);
For more samples see a MultiJobTest class.| Modifier | Constructor and Description |
|---|---|
protected |
JobContext(ExecutorService threadPool,
Duration timeout) |
| Modifier and Type | Method and Description |
|---|---|
static JobContext |
forAny(ExecutorService threadPool,
Duration timeout) |
<P> Jobs<P> |
forEach(Collection<P> params)
A factory method
|
<P> Jobs<P> |
forEach(P... params)
A factory method for a multithreading instance
|
<P> Jobs<P> |
forEach(Stream<P> params)
A factory method
|
static JobContext |
forMultiJob(int nThreads) |
static JobContext |
forMultiJob(int nThreads,
Duration timeout) |
static JobContext |
forParallelJob(Duration timeout) |
static JobContext |
forParallelJob(int parallelism) |
static JobContext |
forParallelJob(int parallelism,
Duration timeout) |
static JobContext |
forSingleThread() |
<T extends ExecutorService> |
getThreadPool() |
Duration |
getTimeout() |
protected boolean |
hasForkJoinPool() |
protected boolean |
noThreadPool() |
void |
shutdown() |
void |
shutdownNow() |
protected JobContext(@Nullable ExecutorService threadPool, @Nonnull Duration timeout)
protected final boolean noThreadPool()
protected final boolean hasForkJoinPool()
@Nullable public <T extends ExecutorService> T getThreadPool()
public void shutdown()
public void shutdownNow()
public <P> Jobs<P> forEach(@Nonnull P... params)
params - All agumentspublic <P> Jobs<P> forEach(@Nonnull Collection<P> params)
params - All agumentspublic <P> Jobs<P> forEach(@Nonnull Stream<P> params)
params - All agumentspublic static JobContext forSingleThread()
public static JobContext forMultiJob(int nThreads)
public static JobContext forMultiJob(int nThreads, Duration timeout)
public static JobContext forParallelJob(int parallelism)
public static JobContext forParallelJob(Duration timeout)
public static JobContext forParallelJob(int parallelism, Duration timeout)
public static JobContext forAny(@Nullable ExecutorService threadPool, @Nonnull Duration timeout)
Copyright 2015, Pavel Ponec