aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-05-29 17:36:32 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-05-29 17:36:32 +0900
commit94f88b4881d6738aedfd8bacf4833ecad730879b (patch)
tree58c54a451faa9ac97a593ef6b31eb850966beb0b /java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java
parentb9a37752031499958e7ba58f093f41a81bdc156b (diff)
downloadlatinime-94f88b4881d6738aedfd8bacf4833ecad730879b.tar.gz
latinime-94f88b4881d6738aedfd8bacf4833ecad730879b.tar.xz
latinime-94f88b4881d6738aedfd8bacf4833ecad730879b.zip
Remove PrioritizedSerialExecutor.
Bug: 15320560 Change-Id: Icb88a96ebd685da1d2cba7b07889a2751c603a2e
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java31
1 files changed, 25 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java
index c08697c4b..61da1b789 100644
--- a/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java
@@ -19,23 +19,42 @@ package com.android.inputmethod.latin.utils;
import com.android.inputmethod.annotations.UsedForTesting;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
/**
* Utilities to manage executors.
*/
public class ExecutorUtils {
- private static final ConcurrentHashMap<String, PrioritizedSerialExecutor> sExecutorMap =
+ private static final ConcurrentHashMap<String, ExecutorService> sExecutorMap =
new ConcurrentHashMap<>();
+ 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, "Executor - " + mId);
+ }
+ }
+
/**
* Gets the executor for the given id.
*/
- public static PrioritizedSerialExecutor getExecutor(final String id) {
- PrioritizedSerialExecutor executor = sExecutorMap.get(id);
+ public static ExecutorService getExecutor(final String id) {
+ ExecutorService executor = sExecutorMap.get(id);
if (executor == null) {
synchronized(sExecutorMap) {
- executor = new PrioritizedSerialExecutor(id);
- sExecutorMap.put(id, executor);
+ executor = sExecutorMap.get(id);
+ if (executor == null) {
+ executor = Executors.newSingleThreadExecutor(new ThreadFactoryWithId(id));
+ sExecutorMap.put(id, executor);
+ }
}
}
return executor;
@@ -47,7 +66,7 @@ public class ExecutorUtils {
@UsedForTesting
public static void shutdownAllExecutors() {
synchronized(sExecutorMap) {
- for (final PrioritizedSerialExecutor executor : sExecutorMap.values()) {
+ for (final ExecutorService executor : sExecutorMap.values()) {
executor.execute(new Runnable() {
@Override
public void run() {