X Tutup
Skip to content

Commit b24460b

Browse files
committed
修改文章内容
1 parent 267c631 commit b24460b

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

_posts/2018-06-28-RxJava2探索-讲得清道得明的线程切换原理之subscribeOn.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ tags:
2525

2626
你们肯定觉得我是为了写博客装x用的,或者是为了把学到的知识记录下来,以便于以后查阅。我告诉你们,都不是!今天在这里写这篇文章的原因很简单:我看了很多图文并茂的文章讲述RXJAVA线程切换原理,可是呢,最后我竟然是自己翻源码才实实在在的理解了这个原理的。嘿嘿,对,我就是这个意思,他们写得不够好!今天,我就是要让更多的人很快速的就理解RXJAVA线程切换的原理。
2727

28-
装x完毕,开始一本正经吹牛逼了,先盗个图。
28+
装x完毕,开始一本正经吹牛x了,先盗个图。
2929

3030
![](https://user-gold-cdn.xitu.io/2018/4/2/1628386bb887ea63?w=300&h=225&f=jpeg&s=15735)
3131

@@ -39,11 +39,15 @@ tags:
3939

4040
### 2.2 线程切换有什么用
4141

42-
我们再来看个例子,Android系统告诉你,不允许网络耗时任务发生在主线程哦,好嘛,那我就new一个Thread来执行网络请求嘛,等了半天,数据请求回来了,我开开开心心的把请求到的数据拿去渲染UI,结果,Android系统又告诉你,子线程不能更新UI哦。。。WTF???逗我玩呢么?Android系统又说了,别着急,我给你个小拖车,你把你取到的东西放在小拖车里,小拖车会来给我的。大家不要喷我,我只是把Handler+Thread这种模式说得复杂了一些。。。
42+
我们再来看个例子,Android系统告诉你,不允许网络耗时任务发生在主线程哦,好嘛,那我就new一个Thread来执行网络请求嘛,等了半天,数据请求回来了,我开开开心心的把请求到的数据拿去渲染UI,结果,Android系统又告诉你,子线程不能更新UI哦。。。WTF???逗我玩呢么?Android系统又说了,别着急,我给你个小拖车,你把你在new Thread里取到的东西放在小拖车里,小拖车会来给我(主线程)的,大家开开心心,何乐而不为。大家不要喷我,我只是把Handler+Thread这种模式说得复杂了一些。。。
4343

44-
这个套路大家肯定早就聊熟于心,闭着眼睛都能写出来,但是,可能很多人像我一样,并没有深究其表示的意义。因为Android操作系统有自己的一些规则,我们不得不遵守这些规则,在这些规则的束缚下,线程切换就必不可少。
44+
作为一只Android开发攻城狮,这个套路大家肯定早就聊熟于心,闭着眼睛都能写出来,但是,可能很多人像我一样,并没有深究其表示的意义。因为Android操作系统有自己的一些特性(多线程)和规则(不允许网络耗时任务发生在主线程、子线程不能更新UI等),我们不得不保持这些特性和遵守这些规则,在这些特性和规则的束缚下,线程切换就必不可少。
4545

46-
线程切换的作用,在掰玉米那个例子的末尾已经说了,到了程序这一层,它的意义就是:**让代码执行在你认为最适合的地方!何谓适合?正确、尽可能高效!**
46+
“线程切换的意义”,你们可以去google或是baidu一下,我目前是没有搜索到对应的符合标题的结果的,所以,要么是这个问题太简单,简单到大家不需要问,都能理解;要么就是这个问题本身就没有意义,没有必要去寻求一个定义。我本想,多线程由来已久,都没有人去关注和定义线程切换的意义,那么我就来开个先河吧(一本正经脸),可是我琢磨了好些天,我总是会被Android系统本身或RxJava所束缚,无法站在更高的地方去阐述其意义,所以,关于线程切换的意义,还是等待将来有哪位大神可以分享出来吧。
47+
48+
附上我用google搜索“线程切换的意义”结果截图
49+
50+
![](http://ykbjson.github.io/blogimage/rxjava2-1/%E7%BA%BF%E7%A8%8B%E5%88%87%E6%8D%A2%E7%9A%84%E6%84%8F%E4%B9%89%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C.png)
4751

4852
# 三、RxJava2的线程切换
4953

0 commit comments

Comments
 (0)
X Tutup