Java 8'de, eşzamanlı olmayan hesaplamaları başlatmak için iki yol vardır: CompletableFuture
ve ForkJoinTask
. Her ikisi de oldukça benzer görünüyorlar - CompletableFuture
iç sınıfları bile ForkJoinTask
'u uzatıyor.ForkJoinTask vs CompletableFuture
Biri diğerinin üzerinde kullanmak için bir neden var mı?
Görebildiğim Temel farklılık CompletableFuture.join
yöntem basitçe gelecek tamamlanana blokları kadar yani bir ForkJoinTask.join
üzerinde katılmadan konum görevi yardımcı olmak için kuyrukta kapalı çalışmalarını çalabilecek oysa (waitingGet
sadece ManagedBlocker
kullanılarak spin) Tamamlamak.
Birinden diğerine yarar var mı? Bunlar iki farklı şeydir
Sanırım sorum başka birini (varsayılan ortak FJP'yi kullandığınızı varsayarak) kullanacağınız zaman diğerini kullanacağınız hakkında daha fazla şey var. Bir CompletableFuture'a katıldığınızda, katıldığınız göreve yardımcı olur mu? – thecoop
@thecoop Birini diğeriyle nasıl değiştirebileceğimi göremiyorum, CompletableFuture o zamanki gibi bir işlemi olan bir sözdür ve sonra Soru, ne zaman ForkJoinTask kullanmalıyım? Kendi paralel algoritmalarını yazarken söyleyebilirim. –