当前位置: 首页 > wzjs >正文

网站一般费用安卓手机性能优化软件

网站一般费用,安卓手机性能优化软件,网络营销有哪些功能?,视频播放网站怎么做这段文字详细解释了 Reactor 中 热发布者(Hot Publisher) 和 冷发布者(Cold Publisher) 的区别,并通过示例展示了它们的行为差异。以下是对其含义的总结和解释: 1. 冷发布者(Cold Publisher&…

这段文字详细解释了 Reactor 中 热发布者(Hot Publisher)冷发布者(Cold Publisher) 的区别,并通过示例展示了它们的行为差异。以下是对其含义的总结和解释:


1. 冷发布者(Cold Publisher)

  • 定义:冷发布者在订阅时才开始生成数据。如果没有订阅者,数据不会被生成。

  • 行为:每个订阅者都会独立地触发数据的生成和处理流程。

  • 类比:就像 HTTP 请求,每个订阅者都会触发一次新的请求,即使之前已经有人订阅过。

  • 示例

    Flux<String> source = Flux.fromIterable(Arrays.asList("blue", "green", "orange", "purple")).map(String::toUpperCase);
    source.subscribe(d -> System.out.println("Subscriber 1: " + d));
    source.subscribe(d -> System.out.println("Subscriber 2: " + d));
    

    输出结果:

    Subscriber 1: BLUE
    Subscriber 1: GREEN
    Subscriber 1: ORANGE
    Subscriber 1: PURPLE
    Subscriber 2: BLUE
    Subscriber 2: GREEN
    Subscriber 2: ORANGE
    Subscriber 2: PURPLE
    

    每个订阅者都会接收到所有数据,因为每个订阅都会重新执行整个操作链 。

在这里插入图片描述


2. 热发布者(Hot Publisher)

  • 定义:热发布者在创建时就开始发布数据,不依赖于订阅者的数量。即使没有订阅者,数据也会持续发布。

  • 行为:订阅者只会看到从订阅开始之后发布的数据。如果在订阅之前已经发布了数据,新订阅者不会看到这些数据。

  • 类比:就像一个股票价格发布者,一旦价格发生变化,所有订阅者都会收到更新,但新订阅者只会看到之后的价格变化。

  • 示例

    Sinks.Many<String> hotSource = Sinks.unsafe().many().multicast().directBestEffort();
    Flux<String> hotFlux = hotSource.asFlux().map(String::toUpperCase);
    hotFlux.subscribe(d -> System.out.println("Subscriber 1 to Hot Source: " + d));
    hotSource.emitNext("blue", FAIL_FAST); 
    hotSource.tryEmitNext("green").orThrow(); 
    hotFlux.subscribe(d -> System.out.println("Subscriber 2 to Hot Source: " + d));
    hotSource.emitNext("orange", FAIL_FAST); 
    hotSource.tryEmitNext("purple").orThrow(); 
    

    输出结果:

    Subscriber 1 to Hot Source: BLUE
    Subscriber 1 to Hot Source: GREEN
    Subscriber 1 to Hot Source: ORANGE
    Subscriber 1 to Hot Source: PURPLE
    Subscriber 2 to Hot Source: ORANGE
    Subscriber 2 to Hot Source: PURPLE
    

    第二个订阅者只看到 “orange” 和 “purple”,因为它们是在第一个订阅者之后发布的 。

在这里插入图片描述


3. 如何将冷发布者转换为热发布者

  • share():将冷发布者转换为热发布者,多个订阅者可以共享同一个发布者。第一个订阅者触发发布,后续订阅者共享数据。
  • replay(n):将冷发布者转换为热发布者,并保留最近的 n 个元素,新订阅者可以接收到这些元素。
  • Sinks.Many:通过 Sinks.Many 手动控制数据的发布,可以模拟热发布者的行为 。

4. 如何将热发布者转换为冷发布者

  • defer():将热发布者(如 just)转换为冷发布者,延迟执行,直到有订阅者订阅时才生成数据 。

5. 总结

  • 冷发布者:每个订阅者都会独立地触发数据的生成和处理。
  • 热发布者:数据在创建时就开始发布,订阅者只会看到从订阅开始之后的数据。
  • 转换方法
    • 冷 → 热:share()replay()Sinks.Many
    • 热 → 冷:defer()

这种区分对于构建高效、可扩展的响应式系统非常重要,尤其是在处理大量并发请求或实时数据流时 。

http://www.dtcms.com/wzjs/415069.html

相关文章:

  • 河北爱站网络科技有限公司金华seo扣费
  • 建设 市民中心网站如何注册百度账号
  • 艾滋病阻断药多长时间内吃有效seo竞价推广
  • 专业做网站的公司有steam交易链接可以随便给别人吗
  • 政府网站建设便民事件营销的案例有哪些
  • 网站建设与开发试卷如何在百度打广告
  • 网页版梦幻西游能交易吗防疫管控优化措施
  • 郑州的网站建设公司互联网广告行业
  • 做商品抬价是什么兼职网站网络营销的好处
  • 有关网站设计与制作的论文关键词排名seo
  • wordpress the7不显示分类页重庆seo小潘大神
  • 定制做网站费用软文广告平台
  • 网站项目计划书网站seo规划
  • 福田做商城网站建设哪家公司靠谱google 网站推广
  • 上海一家做服饰包鞋穿上用品的网站产品推广找哪家公司
  • 简单网站建设规划方案百度正版下载并安装
  • 厦门网站设计建设互联网销售是做什么的
  • 专做茶叶的网站宣传软文怎么写
  • 广西建设执业资格注册中心网站网店推广的作用是
  • 线上网站开发系统流程网络营销渠道
  • 深圳便宜的网站建设郑州营销型网站建设
  • 网站服务器租用阿里云一年多少钱啊google推广怎么做
  • wordpress作者 页面宝鸡seo优化公司
  • 网络公司做网站的合同百度seo关键词排名
  • 龙岗教育网官网汕头seo推广外包
  • 整套网站建设发帖推广平台
  • 免费产品网站建设世界杯积分榜排名
  • 效果图参考网站有哪些怎么推广网站
  • 郑州高新区做网站开发的公司软文推广软文营销
  • 网站培训培训班百度推广点击软件