Publisher
不能同时发布,但如果我使用
Flux#create(FluxSink)
FluxSink#next
同时?
FluxSink#下一个
是否同时调用?
public class FluxTest {
private final Map<String, FluxSink<Item>> sinks = new ConcurrentHashMap<>();
// Store a new sink for the given ID
public void start(String id) {
Flux.create(sink -> sinks.put(id, sink));
}
// Called from different threads
public void publish(String id, Item item) {
sinks.get(id).next(item); //<----------- Is this safe??
}
}
听上去不错
this paragraph
在官方的指南中指出,以上确实是安全的,但我对自己的理解不是很有信心。
create
是一种更高级的程序化创建通量的形式,适用于每轮多次发射,甚至来自多个线程。