如何选择 Executor 的线程数

1 java multithreading android java.util.concurrent

当使用下面的代码创建线程池时,Executor如何选择合适的值nThreads?我可以向 android 询问设备拥有的核心数量,然后使用该信息来计算这个数字吗?在这种情况下这个数字应该是多少?

Executor executor = Executors.newFixedThreadPool(nThreads);
Run Code Online (Sandbox Code Playgroud)

a3y*_*3y3 5

我可以向 android 询问设备拥有的核心数量,然后使用该信息来计算这个数字吗?

是的。您可以用来Runtime.getRuntime.availableProcessors()执行此操作。