java - 使用 DirectProcessor 处理多个生产者
问题描述
DirectProcessor
来自项目反应堆的javadoc说
请注意,与多个消费者一起,DirectProcessor 的当前实现支持多个生产者。但是,所有生产者必须在同一个线程上产生消息,否则将违反Reactive Streams Spec合同。
这个要求是否意味着所有onNext
, onError
,onComplete
必须在同一个线程上调用?还是这仅适用于在提交之间没有发生之前同时提交的消息?查看处理器的实现,从多个线程中使用它似乎是安全的,只要两条消息永远不会同时提交。
套用这个问题,onNext
只要这些调用之间存在发生之前的关系,从不同的线程调用是否安全?
解决方案
推荐阅读
- sql - 不正确的命令(INSERT INTO ... SELECT with GROUP BY)
- batch-file - 如何在运行其他命令时使用 set /p 提示用户?
- postgresql - CREATE USER 产生“注意:空字符串无效...”
- ios - 为什么 UIView 的 intrinsicContentSize 总是返回 (-1.0, -1.0)?
- html - Bootstrap - NavBar 没有很好地折叠第一个元素
- docker - docker-compose 使用新标签构建
- python - Django注释,将多个相关值组合到同一个实例上
- c# - Xamarin Android GoogleApi 从返回的 URI 获取图像
- azure - 恢复服务库 - LRS 与 GRS 在这种情况下适用于什么?
- java - 表单的“.fill()”函数没有给出任何结果或错误