保证反应堆中的交货顺序?
guaranteed order of delivery in reactor?
project-reactor 是否保证默认情况下发布者向订阅者交付内容的顺序?如果不是,有没有办法保证发布者向订阅者交付东西的顺序?
那是什么保证订单?
简答否,没有保证(完全取决于Publisher
),但出于实用目的 应该不是问题。
大多数操作员会尽力不混淆顺序:Reactive Streams 规范要求 onNext
信号必须一个接一个地发生,如果 reactor-core 操作员处理多个线程,他们将每个 onNext 存储在原子 Queue
.
中
但是,例如,如果发布者同时从两个线程发出 A 和 B,根据规范,一个线程将自动“获胜”并先于另一个线程发生。 A 还是 B 实际上首先发射在此时是不确定的。
project-reactor 是否保证默认情况下发布者向订阅者交付内容的顺序?如果不是,有没有办法保证发布者向订阅者交付东西的顺序?
那是什么保证订单?
简答否,没有保证(完全取决于Publisher
),但出于实用目的 应该不是问题。
大多数操作员会尽力不混淆顺序:Reactive Streams 规范要求 onNext
信号必须一个接一个地发生,如果 reactor-core 操作员处理多个线程,他们将每个 onNext 存储在原子 Queue
.
但是,例如,如果发布者同时从两个线程发出 A 和 B,根据规范,一个线程将自动“获胜”并先于另一个线程发生。 A 还是 B 实际上首先发射在此时是不确定的。