根據this question,Schedulers.io()
將創建無限數量的線程。在我的應用程序中,這是一個問題,因爲我需要完成數百個不同步的任務。我可以更改RxJava中Schedulers.io()的行爲嗎?
註釋中的建議是使用Scheduler.from(Executors.newFixedThreadPool(n))
,這是合理的,但使用模式是不同的,以Schedulers.io()
:
- 隨着
Schedulers.io()
,我可以重新使用相同的線程池通了我應用程序,Rx將爲我正確呼叫shutdown
。 - 隨着
Scheduler.from(Executors.newFixedThreadPool(n))
,我必須使Scheduler
可用於我的應用程序,並記得致電shutdown
。
問題:
- 可我只是調整的
Schedulers.io()
的行爲,以使用有界線程池? - 通過Rx應用程序對
Scheduler
進行線程化並確保其正確地爲shutdown
的建議方法是什麼?
也許['Schedulers.computation()'](http://reactivex.io/RxJava/javadoc/rx/schedulers/Schedulers.html#computation())是你在找什麼 – Lamorak