Streams Orta

Sanal iş parçacığı yürütücüsü

Sınırsız hafif eşzamanlılık için sanal iş parçacığı yürütücülerini kullanın.

✕ Java 8
ExecutorService exec =
    Executors.newFixedThreadPool(10);
try {
    futures = tasks.stream()
        .map(t -> exec.submit(t))
        .toList();
} finally {
    exec.shutdown();
}
✓ Java 21+
try (var exec = Executors
        .newVirtualThreadPerTaskExecutor()) {
    var futures = tasks.stream()
        .map(exec::submit)
        .toList();
}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
♾️

Boyutlandırma yok

Ayarlanacak havuz boyutu yok — gerektiği kadar iş parçacığı oluşturulabilir.

Hafif

Sanal iş parçacıkları MB değil, KB bellek kullanır.

🧹

Otomatik kapatma

try-with-resources kapatmayı otomatik olarak yönetir.

Eski Yaklaşım
Sabit İş Parçacığı Havuzu
Modern Yaklaşım
Sanal İş Parçacığı Yürütücüsü
JDK'dan itibaren
21
Zorluk
Orta
Sanal iş parçacığı yürütücüsü
Mevcut

JDK 21 LTS'den itibaren geniş çapta kullanılabilir (Eylül 2023)

Sanal iş parçacığı yürütücüsü her görev için yeni bir sanal iş parçacığı oluşturur. Havuz boyutlandırması gerekmez — sanal iş parçacıkları milyonlarca oluşturulabilecek kadar ucuzdur.

Paylaş 𝕏 🦋 in