Class TaskSchedulers
java.lang.Object
dev.ua.theroer.magicutils.platform.TaskSchedulers
Factory utilities for
TaskScheduler.-
Method Summary
Modifier and TypeMethodDescriptionstatic TaskSchedulercreate(String name, @Nullable ShutdownHookRegistrar shutdownRegistrar) Creates a new scheduler and registers shutdown if possible.static ExecutorServicenewFixedPool(String threadPrefix, int poolSize) Creates a fixed-size thread pool with named daemon threads.static ManagedExecutornewManagedPool(String threadPrefix, int poolSize) Creates a fixed-sizeManagedExecutorwith named daemon threads.static ManagedSchedulernewManagedScheduler(String threadName) Creates a single-threadManagedSchedulerwith a named daemon thread.static ScheduledExecutorServicenewSingleThreadScheduler(String threadName) Creates a single-threadScheduledExecutorServicewith a named daemon thread.static TaskSchedulershared()Returns the shared scheduler instance.
-
Method Details
-
newSingleThreadScheduler
Creates a single-threadScheduledExecutorServicewith a named daemon thread.- Parameters:
threadName- name for the backing thread- Returns:
- new single-thread scheduled executor
-
newManagedScheduler
Creates a single-threadManagedSchedulerwith a named daemon thread. The returned scheduler implementsAutoCloseable, making it compatible withMagicRuntime.manage()for automatic shutdown on runtime close.- Parameters:
threadName- name for the backing thread- Returns:
- new managed single-thread scheduler
-
newFixedPool
Creates a fixed-size thread pool with named daemon threads.- Parameters:
threadPrefix- prefix for thread names (threads are named prefix-1, prefix-2, etc.)poolSize- number of threads- Returns:
- new fixed thread pool
-
newManagedPool
Creates a fixed-sizeManagedExecutorwith named daemon threads. The returned executor implementsAutoCloseable, making it compatible withMagicRuntime.manage()for automatic shutdown on runtime close.- Parameters:
threadPrefix- prefix for thread namespoolSize- number of threads- Returns:
- new managed fixed thread pool
-
create
public static TaskScheduler create(String name, @Nullable @Nullable ShutdownHookRegistrar shutdownRegistrar) Creates a new scheduler and registers shutdown if possible.- Parameters:
name- name prefix for threadsshutdownRegistrar- optional shutdown registrar- Returns:
- newly created scheduler
-