Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ddf9718e authored by Terry Wang's avatar Terry Wang
Browse files

Change AppSearchManagerService's thread pool to use LinkedBlockingQueue.

If the service reaches the max pool size which is the number of
available processor, we should use LinkedBlockingQueue instead of
SynchronousQueue to queue the requests.

Bug: 185294190
Test: presubmit
Change-Id: I3a9a2f8a149f44fac7ddc01d61a6d1827a8d55bf
parent 522de6d8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.Executor;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

@@ -94,7 +94,7 @@ public class AppSearchManagerService extends SystemService {
    // mutate requests will need to gain write lock and query requests need to gain read lock.
    private static final Executor EXECUTOR = new ThreadPoolExecutor(/*corePoolSize=*/1,
            Runtime.getRuntime().availableProcessors(), /*keepAliveTime*/ 60L, TimeUnit.SECONDS,
            new SynchronousQueue<Runnable>());
            new LinkedBlockingQueue<>());

    // Cache of unlocked user ids so we don't have to query UserManager service each time. The
    // "locked" suffix refers to the fact that access to the field should be locked; unrelated to