加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

1小时让你掌握响应式编程,并入门Reactor

发布时间:2019-09-24 18:32:17 所属栏目:优化 来源:Java之高级架构
导读:我看同步阻塞 你知道什么是同步阻塞吗,当然知道了。那你怎么看它呢,这个。。。 在同步阻塞的世界里,代码执行到哪里,数据就跟到哪里。如果数据很慢跟不上来,代码就停在那里等待数据的到来,然后再带着数据一起往下执行。 可以说是,代码执行和数据是结

以下是输出结果:

  1. 1 : 15:00:39.809 
  2. 1 : 1 
  3. 5 : 15:00:40.158 
  4. 5 : 1 
  5. main Thread over, paused. 
  6. 2 : 15:00:45.158 
  7. 2 : 9 
  8. input : 10 
  9. 3 : 15:00:47.160 
  10. 3 : 9 
  11. input : 11 
  12. 4 : 15:00:50.162 
  13. 4 : 9 
  14. input : 9 
  15. 9 consumed, worker Thread over, exit. 

可以看到不到1秒钟时间主线程就执行完了。然后5秒后数据从数据源发射出来进入第一步处理,2秒后进入第二步处理,3秒后进入第三步处理,数据被消费掉,就结束了。其中主线程Id是1,工作线程Id是9。

这段代码其实是建立了一个数据通道,在通道的指定位置上插入处理逻辑,等待数据到来。

主线程执行的是建立通道的代码,主线程很快执行完,通道就建好了。此时只是一个空的通道,根本就没有数据。

在数据到来时,由工作线程执行每个节点的逻辑代码来处理数据,然后把数据传入下一个节点,如此反复直至结束。

所以,在写响应式代码的时候,心里一定要默念着,我所做的事情就是建立一条数据通道,在通道上指定的位置插入适合的逻辑处理代码。同时还要切记,主线程执行完时,只是建立了通道,并没有数据。

如果本文内容你没有看懂,那就多看几遍,保证能懂。如果你都看懂了,那恭喜你已经入门响应式编程了。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读