RxJava_Thread_Control

RxJava 線程控制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 在當前線程運行
Schedulers.immediate()
// 總是開啟新線程,並在新線程執行
Schedulers.newThread()
// io操作(讀寫文件、網路交互),類似newThread,區別在於io()內部為無數量上限的線程池,因此多數情況下io()比newThread更有效率(建議不要將計算工作放在io()中)
Schedulers.io()
// 進行計算工作所使用的Scheduler
Schedulers.computation()
// 切換線程至主線程
AndroidSchedulers.mainThread()

範例

AndroidSchedulers.mainThread() 範例

1
2
3
4
5
6
7
8
9
// 三秒後切換Activity
Observable.timer(3, TimeUnit.SECONDS)
// 執行在主線程
.observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong ->
{
startActivity(new Intent().setClass(this,SecondActivity.class));
finish();
});
文章目錄
  1. 1. RxJava 線程控制
    1. 1.1. 範例
      1. 1.1.1. AndroidSchedulers.mainThread() 範例
|