spring reactor demo

List<Integer> l1 = new ArrayList() {
            {
                add(1);
                add(2);
                add(3);
            }
        };
        List<Integer> l2 = new ArrayList() {
            {
                add(10);
                add(20);
                add(30);
            }
        };

        Mono<List<Integer>> m1 = Mono.just(l1);
        Mono<List<Integer>> m2 = Mono.just(l2);
        Mono.zip(m1, m2).flatMap(new Function<Tuple2<List<Integer>, List<Integer>>, Mono<List<Integer>>>() {
            @Override
            public Mono<List<Integer>> apply(Tuple2<List<Integer>, List<Integer>> objects) {
                List<Integer> ll1 = objects.getT1();
                List<Integer> ll2 = objects.getT2();
                ll1.addAll(ll2);
                return Mono.just(new ArrayList(ll1));
            }
        });
        Integer a = 12;
        List<Integer> b1 = new ArrayList() {
            {
                add(10);
                add(20);
                add(30);
            }
        };
        Flux.fromIterable(b1).reduce(a, new BiFunction<Integer, Integer, Integer>() {
            @Override
            public Integer apply(Integer integer, Integer integer2) {
                Integer all = integer + integer2;

                return all;
            }
        }).subscribe();

觉得一定程度上降低了程序的可读性,代码复杂度增加,如果能够换取更高的性能,也可尝试。

posted @ 2020-05-27 11:13  soft.push("zzq")  Views(253)  Comments(0)    收藏  举报