aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-05-27 07:26:33 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-05-27 07:26:33 +0000
commitc999d89b3d2cfc48d7273b3b07be24c804d94de0 (patch)
tree0684bb55ed6e8fe640e54d309d9fe2b38f243e3d /java/src/com
parent330c10bec4d4e36990463e72ba28bdd186a97e38 (diff)
parent26628eeb4b4a2ffdd6b1912e4bcefc83ac802ceb (diff)
downloadlatinime-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')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java10
-rw-r--r--java/src/com/android/inputmethod/latin/utils/PrioritizedSerialExecutor.java19
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));
}
/**