一句话搞懂RxJava本质 ------- 对线程进行封装,实现任务串行,并行或聚合等操作。

7 篇文章 0 订阅
4 篇文章 0 订阅

个人觉得,RxJava源于异步编程,而异步编程的本质是以线程为载体,实现任务串行,并行或聚合等操作。所以RxJava就是对java线程操作的封装,让用户只关心业务逻辑即可。 至于观察者模式,以及背压等都是它的实现手段而已。 对于初学者来说,不认清楚这点,即便看完各个大牛的文章,仍然晕头转向。

下面用王宝令老师的《java并发变成实战》里面的例子作说明。以烧水,煮茶为例,任务之间的关系如下:

 

串行

 并行

聚合

 

 仔细想想,RXJAVA 的所有操作是否都是围绕   任务的处理    展开。

RxJava 来源于异步编程, 是异步编程的Java实现版本。而异步编程处理的核心问题就是任务串行,并行和聚合操作。

所以,当我们从任务的角度去学习RxJava, 你就会豁然开朗。RxJava可以类比java中的CompletableFuture类来理解。

如果大牛们一开始用java的线程和并发类等知识,来解释RxJava, 而不是上来就整一个水管模型,讲讲观察者模式,我想大家也许会更快速地理解和掌握。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值