File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed
Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments