介紹
RxJava中除了操作符外,線程調(diào)度也是其一大特點(diǎn),也可以說(shuō)是RxJava中最重要的一部份了.
Rxjava線程調(diào)度的使用很簡(jiǎn)單
subscribeOn()
指定訂閱的線程,也就是事件處理的線程
observeOn()
指定觀察的線程,就是事件處理結(jié)果返回的線程
<table>
<thead>
<tr>
<th>調(diào)度器類型</th>
<th>效果</th>
</tr>
</thead>
<tbody><tr>
<td>Schedulers.computation(?)</td>
<td>用于計(jì)算任務(wù)跛十,如事件循環(huán)或和回調(diào)處理团南,不要用于IO操作(IO操作請(qǐng)使用Schedulers.io());默認(rèn)線程數(shù)等于處理器的數(shù)量</td>
</tr>
<tr>
<td>Schedulers.from(executor)</td>
<td>使用指定的Executor作為調(diào)度器</td>
</tr>
<tr>
<td>Schedulers.immediate(?)</td>
<td>在當(dāng)前線程立即開始執(zhí)行任務(wù)</td>
</tr>
<tr>
<td>Schedulers.io(?)</td>
<td>用于IO密集型任務(wù)情妖,如異步阻塞IO操作胎署,這個(gè)調(diào)度器的線程池會(huì)根據(jù)需要增長(zhǎng)入挣;對(duì)于普通的計(jì)算任務(wù),請(qǐng)使用Schedulers.computation()硝拧;Schedulers.io(?)默認(rèn)是一個(gè)CachedThreadScheduler径筏,很像一個(gè)有線程緩存的新線程調(diào)度器</td>
</tr>
<tr>
<td>Schedulers.newThread(?)</td>
<td>為每個(gè)任務(wù)創(chuàng)建一個(gè)新線程</td>
</tr>
<tr>
<td>Schedulers.trampoline(?)</td>
<td>當(dāng)其它排隊(duì)的任務(wù)完成后,在當(dāng)前線程排隊(duì)開始執(zhí)行</td>
</tr>
</tbody></table>