diff options
author | 2014-05-29 17:36:32 +0900 | |
---|---|---|
committer | 2014-05-29 17:36:32 +0900 | |
commit | 94f88b4881d6738aedfd8bacf4833ecad730879b (patch) | |
tree | 58c54a451faa9ac97a593ef6b31eb850966beb0b /java/src/com/android/inputmethod/latin/utils/ExecutorUtils.java | |
parent | b9a37752031499958e7ba58f093f41a81bdc156b (diff) | |
download | latinime-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.java | 31 |
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() { |