java - rxJava3 中的即时调度器在哪里?
问题描述
在rxJava 1中Scheduler.immediate()
,您可以在当前线程上安排工作。在rxJava 3中,我再也找不到这个调度程序了。
有谁知道Scheduler.immediate()
rxJava 3 中的替代品是什么?
我的用例:
我有一个客户端 API,用于从远程服务器订阅无限的事件流(例如新闻提要)。API 通过我注册的回调通知我事件:
Observable.create(emitter -> apiClient.registerCallback(event -> emitter.onNext(event)))
.observeOn(Schedulers.immediate()) // I'd like downstream operators to run on current thread
.map(myFunc);
但是,API 从不同的线程调用我的回调。我希望像myFunc
在当前线程(创建 的线程Observable
)上运行下游计算,以免阻塞 API 的线程。
解决方案
AFAIK,在 RxJava 3 中,您可以使用ImmediateThinScheduler来获得相同的效果。
虽然它保存在internal
包装中,但您可以使用它。
API 非常简单,如果您不想依赖他们的internal
包,您实际上可以自己创建一个。
推荐阅读
- python - scipy lstsq的残基公式是什么?
- kubernetes - 权限错误:服务帐户无权访问 cloud-ml 平台
- python-3.x - 简单的 vanilla RNN 没有通过梯度检查
- c# - 加载更多按钮 Umbraco, Razor funcionality
- node.js - 如何在不插入重复条目的情况下更新 MongoDB 中的文档?
- javascript - Javascript:在循环继续之前等待函数结束
- excel - 比较两个数组 - 水平与垂直
- javascript - 使用包括 GUID 用户名和密码在内的标头从 API 获取数据
- javascript - 和/或过滤器数组之间
- node.js - 使用 Open Id 连接的 AWS IoT 身份验证错误