diff options
author | 2014-05-27 07:26:33 +0000 | |
---|---|---|
committer | 2014-05-27 07:26:33 +0000 | |
commit | c999d89b3d2cfc48d7273b3b07be24c804d94de0 (patch) | |
tree | 0684bb55ed6e8fe640e54d309d9fe2b38f243e3d /java/src/com/android/inputmethod/latin | |
parent | 330c10bec4d4e36990463e72ba28bdd186a97e38 (diff) | |
parent | 26628eeb4b4a2ffdd6b1912e4bcefc83ac802ceb (diff) | |
download | latinime-c999d89b3d2cfc48d7273b3b07be24c804d94de0.tar.gz latinime-c999d89b3d2cfc48d7273b3b07be24c804d94de0.tar.xz latinime-c999d89b3d2cfc48d7273b3b07be24c804d94de0.zip |
am 26628eeb: Merge "Add thread name for PrioritizedSerialExecutor."
* commit '26628eeb4b4a2ffdd6b1912e4bcefc83ac802ceb':
Add thread name for PrioritizedSerialExecutor.
Diffstat (limited to 'java/src/com/android/inputmethod/latin')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java | 19 |
2 files changed, 22 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java index 7b678e175..c08697c4b 100644 --- a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java @@ -28,14 +28,14 @@ public class ExecutorUtils { new ConcurrentHashMap<>(); /** - * Gets the executor for the given dictionary name. + * Gets the executor for the given id. */ - public static PrioritizedSerialExecutor getExecutor(final String dictName) { - PrioritizedSerialExecutor executor = sExecutorMap.get(dictName); + public static PrioritizedSerialExecutor getExecutor(final String id) { + PrioritizedSerialExecutor executor = sExecutorMap.get(id); if (executor == null) { synchronized(sExecutorMap) { - executor = new PrioritizedSerialExecutor(); - sExecutorMap.put(dictName, executor); + executor = new PrioritizedSerialExecutor(id); + sExecutorMap.put(id, executor); } } return executor; diff --git a/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java b/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java index 148f3bce6..21949ffbd 100644 --- a/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java +++ b/java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java @@ -21,6 +21,7 @@ import com.android.inputmethod.annotations.UsedForTesting; import java.util.Queue; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -40,12 +41,26 @@ public class PrioritizedSerialExecutor { // The task which is running now. private Runnable mActive; - public PrioritizedSerialExecutor() { + private static class ThreadFactoryWithId implements ThreadFactory { + private final String mId; + + public ThreadFactoryWithId(final String id) { + mId = id; + } + + @Override + public Thread newThread(final Runnable r) { + return new Thread(r, TAG + " - " + mId); + } + } + + public PrioritizedSerialExecutor(final String id) { mTasks = new ConcurrentLinkedQueue<>(); mPrioritizedTasks = new ConcurrentLinkedQueue<>(); mIsShutdown = false; mThreadPoolExecutor = new ThreadPoolExecutor(1 /* corePoolSize */, 1 /* maximumPoolSize */, - 0 /* keepAliveTime */, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(1)); + 0 /* keepAliveTime */, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(1), + new ThreadFactoryWithId(id)); } /** |