带有 Observables 的 ThreadpoolExecutor

ThreadpoolExecutor with Observables

您好,我目前正在使用 Schedulers.io() 和 Observables 进行网络调用 api。我担心在生产中如果请求量很大,它可能会创建很多线程。我预计每天大约有 500k - 700k 个请求。在这种情况下 Schedulers.io() 是一个很好的候选人吗?

或者我应该创建一个自定义 threadpoolExecutor 并将其用作 Schedulers.from(myExecutor)

    //Sample
    ThreadPoolExecutor myExecutor= new ThreadPoolExecutor(corePoolSize, 
    maxPoolSize, poolKeepAliveInMillis, TimeUnit.MILLISECONDS,
                new ArrayBlockingQueue<Runnable>(corePoolSize));

我在网上看到的所有例子都使用固定的线程池,比如Schedulers.from(Executors.newFixedThreadPool(n)).

Rx java Schedulers 是否支持 ThreadPoolExecutor?哪种方法最好,请指教

RxJava 可以使用各种调度程序,例如 Schedulers.from(threadPoolExecutor)。在一个项目中,对线程有一个强烈的要求,即它们有一个给定的名称,通常带有一个数字,并且它们有一个异常捕获器。使用 Schedulers.from() 将执行程序重新调整为调度程序很容易。

此外,Schedulers.io() 调度程序相当有效地回收线程。可以在很多事务之后做一个thread dump,看看线程数是比较有限的。