springboot系列19,Reactive(上)

本文介绍了SpringBoot中的Reactive编程,包括Reactive实现框架如RxJava、Reactor和Flow API,以及Reactive编程模型的核心概念。讨论了Reactive数据结构(流、序列、事件),设计模式和并发模式。重点解释了Reactive Streams规范,API组件,如Subscriber的信号事件和背压机制,阐述了如何通过非阻塞方式提升性能并避免资源竞争。
摘要由CSDN通过智能技术生成

关于Reactive,非阻塞的实现,具体是什么,后面再说。

Reactive实现框架

RxJava:Reactive Extensions

Reactor:Spring WebFlux Reactive类库

Flow API:java9 Flow API 实现

先说说串行并行。

对于现在大多数编程来说,都是阻塞式的,或者说是串行的,下面一行代码依赖上一行代码,上面执行完才会执行下面的。那这样有一个不好的地方就是浪费时间,阻塞式会导致性能瓶颈,那增加线程呢?会引起资源竞争和并发的问题,而且并行也不能解决所有问题。接下来举两个例子

串行:

/**
 * 阻塞数据加载(串行)
 */
public class DataLoader {
    public final void load() {
        long startTime = System.currentTimeMillis(); // 开始时间
        doLoad(); // 具体执行
        long costTime = System.currentTimeMillis() - startTime; // 消耗时间
        System.out.println("load() 总耗时:" + costTime + " 毫秒");
    }
    protected void doLoad() { // 串行计算
        loadConfigurations(); // 耗时 1s
        loadUsers(); // 耗时 2s
        loadOrders(); // 耗时 3s
    } // 总耗时 1s + 2s 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值