Tôi đã chơi với CompletionStage/CompletableFuture trong Java 8 để xử lý không đồng bộ, hoạt động khá tốt. Tuy nhiên, đôi khi tôi muốn một giai đoạn để thực hiện xử lý không đồng bộ của một iterator/stream của các mục, và có vẻ như không phải là một cách để làm điều này.Có thể sử dụng API Java 8 Streams để xử lý không đồng bộ không?
Cụ thể, Stream.forEach() có ngữ nghĩa sau khi cuộc gọi tất cả các mục đã được xử lý. Tôi muốn điều tương tự, nhưng với một CompletionStage thay vào đó, ví dụ .:
CompletionStage<Void> done = stream.forEach(...);
done.thenRun(...);
Nếu Stream được hỗ trợ bởi một kết quả trực tuyến không đồng bộ này sẽ tốt hơn nhiều so với chờ đợi cho nó để được hoàn thành trong đoạn code trên chính nó.
Có thể xây dựng điều này với API Java 8 hiện tại không? Cách giải quyết?
Xin chào! Tôi đã cập nhật câu trả lời của mình. Nếu nó sẽ làm hài lòng bạn, hãy bỏ phiếu lên Tôi đang cố kiếm thêm danh tiếng;) –
@Rickard Có thể là quá muộn :) nhưng tôi đã tìm thấy thứ gì đó bạn muốn nếu tôi hiểu bạn một cách chính xác. http://www.reactive-streams.org/. https://github.com/reactor/reactor –