反应式编程见解

本文探讨了多线程在并发编程中的作用,引入反应式编程的概念,解释了响应式宣言的四大特点。重点讲解了Spring WebFlux框架,包括其Overflow策略和关键函数如publishOn(), subscribeOn(), parallel()及runOn()。最后,通过实例展示了如何初始化一个WebFlux工程并进行简单测试。" 118999766,10966202,一图秒懂软件测试,"['软件测试', '测试工程师', '程序人生']
摘要由CSDN通过智能技术生成

多线程

正常来说,由一个线程串行执行的程序,可以通过多线程的方式进行拆解
其中单线程程序可以分为两种:

  • IO密集型
  • 计算密集型
    我们使用多线程编程,主要是为了充分发挥当前多核PCU的计算能力,使并发变为并行。
    在程序间没有相互依赖关系的情况下,会极大提高程序的执行效率。并且会随着CPU核心的提升,理论上效率会越来越高。
    但现实情况并非理想,很多程序中的步骤都是相互依赖的,即A依赖B,B依赖C,C依赖D。需要考虑 一致性成本的话,并发执行的效率会大大折扣,会随着CPU核数的提升而降低。

反应式编程

反应式编程,这是一个新的概念,不同于响应式编程,函数式。是一种基于函数式编程非阻塞方式来处理数据流的。
简单的,对于Java来说,可以理解为非阻塞的基于时间流的编程范式。
它的兴起,与
Java的绿色线程,Event-loop
Future、Promise(ES6)
Rx系列
Actor模型(基于消息传递)
都有很大的关系

反应式编程的宣言:

  • responsive(响应式的)
  • resilient (回弹)
  • elastic (可伸缩)
  • message-driven(消息驱动)
    这是一个由三个大公司Pivotal、Netflix等组成的小组联合声明的
    上图说话:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值