织梦移动端网站模板下载地址,广州工程,梧州论坛网,书籍封面设计网站1. reactor中的并发有两种方式 1.1 flatmap#xff0c;底层是多线程并发处理。在reactor的演讲中#xff0c;flatmap对于io类型的并发效果较好. flamap有两个参数: int concurrency, int prefetch。分别代表并发的线程数和缓存大小 注意凡是参数中有prefetch的#xff0c;都…1. reactor中的并发有两种方式 1.1 flatmap底层是多线程并发处理。在reactor的演讲中flatmap对于io类型的并发效果较好. flamap有两个参数: int concurrency, int prefetch。分别代表并发的线程数和缓存大小 注意凡是参数中有prefetch的都表示这个operator有对应大小的缓存。 1.2 parallel,这种operator对cpu并发的效果较好
2. groupyby的优化 因为groupby的缓存可能会用完导致hang住。因此这里有如下的可以考虑的优化方法
1. 提高groupby的缓存数量
2. 增加flatmap中的concurrency和prefetch值
ListString data List.of(alpha, air, aim, beta, cat, ball, apple, bat, dog, ace);Flux.fromIterable(data).log().doOnComplete(()-{ System.out.println(end);}).groupBy(d - d.charAt(0),5).flatMap(g - g.map(String::valueOf).startWith(String.valueOf(g.key())).map(o - {System.out.println(o);return o;}),2,1).subscribe(); 3. share和publish两个方法可以将冷流变成热流
4. 相对应的cache/buffer/onBackpressureBuffer等操作符因为存在了cache因此将热流变成了冷流。 可学习文章
flux中的缓存-CSDN博客