当前位置: 首页 > 知识库问答 >
问题:

我可以改变rxjava中schedulers.io()的行为吗?

左丘修齐
2023-03-14

根据这个问题,schedulers.io()将创建无限数量的线程。在我的应用程序中,这是一个问题,因为我有数百个异步任务要完成。

注释中的建议是使用scheduler.from(executors.NewFixedThreadPool(n)),这是合理的,但使用模式与schedulers.io()不同:

  • 使用schedulers.io(),我可以在应用程序中重用相同的线程池,而Rx将为我正确调用shutdown
  • 使用Scheduler.From(executors.NewFixedThreadPool(n)),我必须使Scheduler在应用程序中可用,并记住调用Shutdown

问题:

  • 我可以调整schedulers.io()的行为来使用有界线程池吗?
  • 调度程序贯穿到Rx应用程序,并确保正确执行关闭的推荐方法是什么?

共有1个答案

白通
2023-03-14

对于RxJava,您可以使用rxjavahooks.onioScheduler将您的调度程序返回为Schedulers.io。但您无法避免创建ioScheduler

对于RxJava2,您可以使用RXJavaPlugins.setInitioSchedulerHandler直接由您的调度程序初始化IOScheduler

 类似资料:
  • 在网络请求中使用和有什么好处。我见过许多使用的示例,但我想明白为什么。 示例情形: 为每个工作单元创建一个新线程。将使用线程池 但这种争论对应用程序有什么影响呢?还有哪些方面?

  • 我已经阅读了很多关于rxjava调度器的答案,比如下面的用例,调度器io和调度器计算,rxjava2调度器io和具有大并发请求的调度器计算之间的区别是什么。 最常见的解释是使用Schedulers.computation()进行CPU密集型工作 并使用调度程序。io()用于与文件系统交互、与数据库或服务交互、REST API调用 通过CPU密集型工作,我假设/考虑图像调整大小/操作,大数据集等(如

  • 问题内容: 我试图更改HTML表单,输入类型文件。这是我的代码: HTML,表格ID =表格 .CSS 这两种方法均无效。我确实从某些网站(如Facebook,YouTube,Google或Twitter)看到,它们具有不同的风格。想知道他们是如何做到的。 问题答案: 您不能对输入类型的文件执行任何操作(巨大的黑客攻击除外)。我知道这听起来很可怕,但是Web标准仍然没有提出解决方案。 但是我建议您

  • 由于某种原因,我必须将图标包装在标记中。 是否有可能将字体出色的图标的颜色更改为黑色? 或者只要它包装在标记中就不可能?字体真棒应该是字体而不是图像,对吧?

  • 问题内容: 可以改变外观吗? 问题答案: 您不能对控件本身进行太多修改。 由于单击与输入正确配对的元素会激活/聚焦它,因此我们可以使用a 触发OS浏览对话框。 这是您可以做到的… 表单控件的CSS将使它看起来不可见,并且不会在文档布局中占用空间,但是仍然 存在, 因此可以通过激活它。 如果要在选择后显示用户选择的路径,可以使用JavaScript侦听事件,然后读取浏览器提供给您的路径(出于安全原因

  • 这是一个愚蠢的问题,但我正在开发一个AngularJS应用程序(一个简单的学校项目),我想知道是否有一种方法可以在chrome中运行JavaScript对象后,从chrome的开发工具中修改它。基本上,我有一个角色和一个怪物,我想编辑他们在战斗中的力量,以加快我的调试过程(避免在源代码中设置值,然后刷新页面)。 编辑:这就是答案。我只是不知道怎么找。:)