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

Commit 53cf0949 authored by Oluwarotimi Adesina's avatar Oluwarotimi Adesina
Browse files

Add idletimeout to AF exe pool

Flag: android.app.appfunctions.flags.enable_app_function_manager
Test: existing CTS
Bug: 371050337
Change-Id: Ic0c2e8a4835724d52623ee555c7bf4fe9385bed3
parent 1af6bb4f
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.appfunctions;

import java.util.concurrent.Executor;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@@ -24,15 +23,21 @@ import java.util.concurrent.TimeUnit;
/** Executors for App function operations. */
public final class AppFunctionExecutors {

    static final int sConcurrency = Runtime.getRuntime().availableProcessors();

    /** Executor for operations that do not need to block. */
    public static final Executor THREAD_POOL_EXECUTOR =
    public static final ThreadPoolExecutor THREAD_POOL_EXECUTOR =
            new ThreadPoolExecutor(
                    /* corePoolSize= */ Runtime.getRuntime().availableProcessors(),
                    /* maxConcurrency= */ Runtime.getRuntime().availableProcessors(),
                    /* keepAliveTime= */ 0L,
                    /* corePoolSize= */ sConcurrency,
                    /* maxConcurrency= */ sConcurrency,
                    /* keepAliveTime= */ 1L,
                    /* unit= */ TimeUnit.SECONDS,
                    /* workQueue= */ new LinkedBlockingQueue<>(),
                    new NamedThreadFactory("AppFunctionExecutors"));

    static {
        THREAD_POOL_EXECUTOR.allowCoreThreadTimeOut(true);
    }

    private AppFunctionExecutors() {}
}