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

自建网站百度成都最新数据消息

自建网站百度,成都最新数据消息,网站在线客服聊天系统,创意设计椅子boundedElastic 调度器专门用于处理无法避免的阻塞代码,而 single 和 parallel 调度器则不支持阻塞操作。因此,如果在 single 或 parallel 调度器上使用 Reactor 的阻塞 API(如 block()、blockFirst()、blockLast())或通过 toIter…

boundedElastic 调度器专门用于处理无法避免的阻塞代码,而 singleparallel 调度器则不支持阻塞操作。因此,如果在 singleparallel 调度器上使用 Reactor 的阻塞 API(如 block()blockFirst()blockLast())或通过 toIterable()toStream() 进行迭代,会抛出 IllegalStateException 异常
自定义调度器也可以通过实现 NonBlocking 标记接口来标记为“仅适用于非阻塞操作”


1. boundedElasticsingle/parallel 的区别

  • boundedElastic

    • 是一个有界弹性线程池,适合处理阻塞 I/O 操作
    • 它允许任务排队并在线程可用时重新调度,避免过多线程消耗资源。
    • 适用于遗留的阻塞代码,但不是必须的。
  • singleparallel

    • single:提供一个可重用的线程,适合低延迟任务。
    • parallel:提供一个固定大小的线程池(通常等于 CPU 核心数),适合 CPU 密集型任务。
    • 但它们不支持阻塞操作,因为阻塞操作会阻塞线程,影响其他任务的执行。

结论boundedElastic 是唯一支持阻塞操作的调度器,而 singleparallel 不支持。


2. 为什么在 single/parallel 上使用阻塞 API 会抛出异常?

  • 阻塞操作会阻塞线程,而 singleparallel 调度器是为非阻塞操作设计的。
  • 如果在这些调度器上执行阻塞操作,会导致线程被阻塞,其他任务无法执行。
  • 例如,使用 block()blockFirst()blockLast()toIterable()toStream() 进行迭代,会强制阻塞线程,违反了响应式流的非阻塞原则。
  • Reactor 会检测到这种行为,并抛出 IllegalStateException

示例

Mono.just("Hello").subscribeOn(Schedulers.single()) // 报错.block(); // 抛出 IllegalStateException

3. 如何标记自定义调度器为“仅适用于非阻塞操作”?

  • NonBlocking 标记接口:Reactor 提供了一个 NonBlocking 标记接口,用于标识哪些线程可以安全地执行非阻塞操作。
  • 自定义线程:你可以创建一个线程,并实现 NonBlocking 接口,这样该线程就被标记为“仅适用于非阻塞操作”。
  • 作用:确保在这些线程上不会执行阻塞操作,从而避免 IllegalStateException

示例

Thread thread = new Thread(() -> {// 非阻塞操作
});
thread.setDaemon(true);
thread.start();

4. 总结

调度器是否支持阻塞操作用途是否抛出异常(在阻塞操作下)
boundedElastic阻塞 I/O 操作❌(不抛出异常)
single低延迟任务✅(抛出异常)
parallelCPU 密集型任务✅(抛出异常)

关键点

  • boundedElastic 是唯一支持阻塞操作的调度器。
  • singleparallel 不支持阻塞操作,否则会抛出异常。
  • 自定义调度器可以通过实现 NonBlocking 接口来标记为“仅适用于非阻塞操作”。

5. 相关引用

  • Schedulers.boundedElastic() 是为阻塞 I/O 操作设计的,而 singleparallel 不是 。
  • singleparallel 调度器上使用 block()blockFirst()blockLast() 会抛出 IllegalStateException
  • 自定义调度器可以通过实现 NonBlocking 标记接口来标记为“仅适用于非阻塞操作” 。
http://www.dtcms.com/wzjs/503236.html

相关文章:

  • 网站建站代理中国网站排名网
  • 做网站的股哥今日特大新闻新事
  • 响应式中文网站欣赏国通快速建站
  • 企业建网站平台长沙seo网络营销推广
  • 做网站都需要租服务器吗网站推广优化排名教程
  • 家庭农场做网站的好处腾讯企业qq
  • 软件开发模型包括哪五种aso优化怎么做
  • 手机网站建设机构国外b站不收费免费2023
  • 怎么在自己的网站做淘宝客免费发seo外链平台
  • 福田网站建设设计公司长沙百度网站排名优化
  • 怎么用css做网站分片windows优化大师是病毒吗
  • 体育直播网站制作开发查询网站注册信息
  • 嘉峪关建设路小学网站外包网络推广
  • 动态网站的例子杭州市优化服务
  • 网站的建设技术有哪些内容seo建站收费地震
  • 南通做网站的花云seo网站优化价格
  • 创意响应式网站建设网页制作软件有哪些
  • 采集网站怎么做百度百度一下你就知道
  • 免费网站优化软件当日alexa排名查询统计
  • 网站建设 中企动力西安美国今天刚刚发生的新闻
  • ecshop二次开发厦门网站综合优化贵吗
  • 现在网站主怎么做淘宝客百度关键词排名快速排名
  • 什么装修网站做的好的销售新手怎么找客源
  • 用织梦做网站调用乱码sem分析是什么
  • 装潢设计就业前景正版搜索引擎优化
  • 如何设立邮箱和网站线上营销手段有哪些
  • 泉州网站优化排名最近的国内新闻
  • php在网站上怎么做充值世界杯比分查询
  • 网站制作者如何创建个人网页
  • 网站开发设计公百度快照在哪里找