Class WorkerThread
- java.lang.Object
-
- java.lang.Thread
-
- de.dytanic.cloudnet.common.concurrent.WorkerThread
-
- All Implemented Interfaces:
java.lang.Runnable,java.util.concurrent.Executor,java.util.concurrent.ExecutorService
public class WorkerThread extends java.lang.Thread implements java.util.concurrent.ExecutorService
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanavailableprotected longdestinationTimeprotected longlifeMillisprotected @NotNull java.util.concurrent.BlockingQueue<ITask<?>>tasks
-
Constructor Summary
Constructors Constructor Description WorkerThread()WorkerThread(java.lang.String name)WorkerThread(java.lang.ThreadGroup group, java.lang.String name)WorkerThread(java.lang.ThreadGroup group, java.lang.String name, long lifeMillis)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanawaitTermination(long timeout, @NotNull java.util.concurrent.TimeUnit unit)voidclearAllTasks()voidexecute(@NotNull java.lang.Runnable command)<T> @NotNull java.util.List<java.util.concurrent.Future<T>>invokeAll(@NotNull java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, @NotNull java.util.concurrent.TimeUnit unit)<T> @NotNull java.util.List<java.util.concurrent.Future<T>>invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)<T> TinvokeAny(@NotNull java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)Deprecated.<T> TinvokeAny(@NotNull java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, @NotNull java.util.concurrent.TimeUnit unit)Deprecated.booleanisAvailable()booleanisShutdown()booleanisTerminated()protected voidpostRun()voidrun()voidshutdown()@NotNull java.util.List<java.lang.Runnable>shutdownNow()Deprecated.@NotNull ITask<?>submit(@NotNull java.lang.Runnable task)<T> @NotNull ITask<T>submit(@NotNull java.lang.Runnable task, T result)<T> @NotNull ITask<T>submit(@NotNull java.util.concurrent.Callable<T> task)<T> @NotNull ITask<T>submit(java.util.concurrent.Callable<T> task, ITaskListener<T> listener)<T> @NotNull ITask<T>submit(java.util.concurrent.Callable<T> task, ITaskListener<T>[] listeners)protected voidupdateDestinationTime()-
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
-
-
-
-
Field Detail
-
tasks
@NotNull protected final @NotNull java.util.concurrent.BlockingQueue<ITask<?>> tasks
-
lifeMillis
protected final long lifeMillis
-
available
protected volatile boolean available
-
destinationTime
protected long destinationTime
-
-
Method Detail
-
isAvailable
public boolean isAvailable()
-
clearAllTasks
public void clearAllTasks()
-
submit
@NotNull public <T> @NotNull ITask<T> submit(java.util.concurrent.Callable<T> task, ITaskListener<T> listener)
-
submit
@NotNull public <T> @NotNull ITask<T> submit(java.util.concurrent.Callable<T> task, ITaskListener<T>[] listeners)
-
shutdown
public void shutdown()
- Specified by:
shutdownin interfacejava.util.concurrent.ExecutorService
-
shutdownNow
@NotNull @Deprecated public @NotNull java.util.List<java.lang.Runnable> shutdownNow()
Deprecated.- Specified by:
shutdownNowin interfacejava.util.concurrent.ExecutorService
-
isShutdown
public boolean isShutdown()
- Specified by:
isShutdownin interfacejava.util.concurrent.ExecutorService
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminatedin interfacejava.util.concurrent.ExecutorService
-
awaitTermination
public boolean awaitTermination(long timeout, @NotNull @NotNull java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
awaitTerminationin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
submit
@NotNull public <T> @NotNull ITask<T> submit(@NotNull @NotNull java.util.concurrent.Callable<T> task)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
@NotNull public <T> @NotNull ITask<T> submit(@NotNull @NotNull java.lang.Runnable task, T result)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
@NotNull public @NotNull ITask<?> submit(@NotNull @NotNull java.lang.Runnable task)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
invokeAll
@NotNull public <T> @NotNull java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService
-
invokeAll
@NotNull public <T> @NotNull java.util.List<java.util.concurrent.Future<T>> invokeAll(@NotNull @NotNull java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, @NotNull @NotNull java.util.concurrent.TimeUnit unit)- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService
-
invokeAny
@NotNull @Deprecated public <T> T invokeAny(@NotNull @NotNull java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)Deprecated.- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService
-
invokeAny
@Deprecated public <T> T invokeAny(@NotNull @NotNull java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, @NotNull @NotNull java.util.concurrent.TimeUnit unit)Deprecated.- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService
-
execute
public final void execute(@NotNull @NotNull java.lang.Runnable command)- Specified by:
executein interfacejava.util.concurrent.Executor
-
run
public final void run()
- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
postRun
protected void postRun()
-
updateDestinationTime
protected final void updateDestinationTime()
-
-