当前位置: 首页 > 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/696418.html

相关文章:

  • 陕西建设执业中心网站广州seo优化推广
  • 网站开发电脑配置推荐中国生态文明建设的意义和目标
  • 上海做网站较好的公司扬中新闻中心
  • 在网站底部给网站地图做链接本地手机网站建设服务
  • 资讯类网站模板如何承接网站建设外包
  • 中山网站建设费用做网站赚钱还是企业宣传片
  • 微信公众号微网站怎么建设成都公司网站设计套餐
  • WordPress discuz 仿站mip wordpress
  • 石家庄市建设工程有限公司镇江关键字优化公司
  • 网站搭建代理北京十大装修公司品牌排行榜
  • 专业网站建设平台公司大兴区网站建设公司
  • 做网站哪个部分南充网站建设设计略奥
  • 用别人服务器做网站wordpress文章页名称
  • 建设ftp网站的安全性食品公司网站建设
  • 做网站都需要买什么软件深圳市中心是哪个区
  • 市场营销的知名企业网站seo技巧
  • 无锡cms建站篇高端网站愿建设
  • 学做网站需要多久时间小程序商店登录
  • 百度关键字优化广州市口碑seo推广外包
  • 潍坊智能建站模板如何开一家自己的公司
  • 河南网站推广怎么做建筑工程项目信息查询
  • 建设数据库网站需要哪些设备最近大事件新闻
  • 旅游网站内容规划南京成旭通网站建设公司怎么样
  • 寿光做网站的地推平台
  • 陕煤化建设集团铜川分公司网站个人音乐网站源码搭建
  • 网站开发合同要上印花税吗济南咨询行业网站开发
  • 心得网站建设男直接做的视频网站
  • 珠海网站制作定制做设计.不抠图网站
  • seo标签优化方法seo任务平台
  • 国内十大旅游网站排名wordpress 图片云存储