Package com.aspectran.core.util.thread
Class ScheduledExecutorScheduler
- java.lang.Object
-
- com.aspectran.core.util.thread.ScheduledExecutorScheduler
-
- All Implemented Interfaces:
Scheduler
public class ScheduledExecutorScheduler extends java.lang.Object implements Scheduler
This class is a clone of org.eclipse.jetty.util.thread.ScheduledExecutorScheduler
Implementation ofScheduler
based on JDK'sScheduledThreadPoolExecutor
.While use of
ScheduledThreadPoolExecutor
creates futures that will not be used, it has the advantage of allowing to set a property to remove cancelled tasks from its queue even if the task did not fire, which provides a huge benefit in the performance of garbage collection in young generation.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.aspectran.core.util.thread.Scheduler
Scheduler.Task
-
-
Constructor Summary
Constructors Constructor Description ScheduledExecutorScheduler()
ScheduledExecutorScheduler(java.lang.String name, boolean daemon)
ScheduledExecutorScheduler(java.lang.String name, boolean daemon, java.lang.ClassLoader classLoader)
ScheduledExecutorScheduler(java.lang.String name, boolean daemon, java.lang.ClassLoader classLoader, java.lang.ThreadGroup threadGroup)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isRunning()
Scheduler.Task
schedule(java.lang.Runnable task, long delay, java.util.concurrent.TimeUnit unit)
void
start()
void
stop()
-
-
-
Constructor Detail
-
ScheduledExecutorScheduler
public ScheduledExecutorScheduler()
-
ScheduledExecutorScheduler
public ScheduledExecutorScheduler(java.lang.String name, boolean daemon)
-
ScheduledExecutorScheduler
public ScheduledExecutorScheduler(java.lang.String name, boolean daemon, java.lang.ClassLoader classLoader)
-
ScheduledExecutorScheduler
public ScheduledExecutorScheduler(java.lang.String name, boolean daemon, java.lang.ClassLoader classLoader, java.lang.ThreadGroup threadGroup)
-
-
Method Detail
-
schedule
public Scheduler.Task schedule(java.lang.Runnable task, long delay, java.util.concurrent.TimeUnit unit)
-
-