public class ThreadUtils
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ThreadUtils.GlWorkerThreadRunnable |
static class |
ThreadUtils.MainThreadRunnable |
static class |
ThreadUtils.Worker |
static class |
ThreadUtils.WorkerThreadRunnable |
Modifier and Type | Field and Description |
---|---|
static int |
CPU_CORE_COUNT |
Constructor and Description |
---|
ThreadUtils() |
Modifier and Type | Method and Description |
---|---|
void |
addTaskToGroup(int serialiseGroup,
ThreadUtils.GlWorkerThreadRunnable runnable)
Run parallel in background but serialized executed in a group.
|
void |
addTaskToGroup(int serialiseGroup,
ThreadUtils.WorkerThreadRunnable runnable)
Run parallel in background but serialized executed in a group.
|
protected void |
finalize() |
static int |
generateGroupId(java.lang.String name) |
static ThreadUtils |
getWorker() |
static void |
postToMainThread(ThreadUtils.MainThreadRunnable runnable)
Run Ui operation on the main thread at the next UI Frame.
|
static void |
recycleGroupId(java.lang.String name) |
void |
replaceTaskOnGroup(int serialiseGroup,
ThreadUtils.GlWorkerThreadRunnable runnable)
Run parallel in background but executed only one in a group, if exist a previously task it will be removed.
|
void |
replaceTaskOnGroup(int serialiseGroup,
ThreadUtils.WorkerThreadRunnable runnable)
Run parallel in background but executed only one in a group, if exist a previously task it will be removed.
|
static void |
runOnMainThread(ThreadUtils.MainThreadRunnable runnable)
Run Ui operation on the main thread at the next UI Frame
or instant if the execution thread already the main thread.
|
void |
start() |
void |
stop() |
static boolean |
thisIsUiThread()
Check if this is the Ui thread.
|
public void addTaskToGroup(int serialiseGroup, @NonNull ThreadUtils.GlWorkerThreadRunnable runnable)
serialiseGroup
- group name for serializingrunnable
- executing runnablepublic void addTaskToGroup(int serialiseGroup, @NonNull ThreadUtils.WorkerThreadRunnable runnable)
serialiseGroup
- group name for serializingrunnable
- executing runnableprotected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public static int generateGroupId(java.lang.String name)
public static ThreadUtils getWorker()
@AnyThread public static void postToMainThread(@NonNull ThreadUtils.MainThreadRunnable runnable)
runnable
- the runnable.public static void recycleGroupId(java.lang.String name)
public void replaceTaskOnGroup(int serialiseGroup, @NonNull ThreadUtils.GlWorkerThreadRunnable runnable)
serialiseGroup
- group name for serializingrunnable
- executing runnablepublic void replaceTaskOnGroup(int serialiseGroup, @NonNull ThreadUtils.WorkerThreadRunnable runnable)
serialiseGroup
- group name for serializingrunnable
- executing runnablepublic static void runOnMainThread(@NonNull ThreadUtils.MainThreadRunnable runnable)
runnable
- the runnable.public void start()
public void stop()
public static boolean thisIsUiThread()