Virtual Thread
Sanal thread (Virtual Thread) — Java çalışma zamanında çok sayıda bloklayıcı I/O işi için düşük maliyetli thread-per-task modelini mümkün kılan hafif iş parçacığı türü.
JVM Çalışma Zamanı Bağlamı
Sanal iş parçacıkları platform iş parçacıkları üzerinde zamanlanır. Desteklenen bloklayıcı işlemlerde sanal iş parçacığı beklemeye geçtiğinde taşıyıcı iş parçacığı başka bir işi çalıştırmak üzere serbest kalabilir. Böylece yüksek eşzamanlılık için uygulama kodunu zorunlu olarak callback tabanlı asenkron modele dönüştürmek gerekmez.
Kavramsal Sınır
Sanal iş parçacığı CPU kapasitesini artırmaz. İşlemci ağırlıklı işlerde çekirdek sayısının çok üzerindeki çalıştırılabilir görev sayısı kendiliğinden işlem hacmi kazancı sağlamaz. Pinning ve ThreadLocal kullanımı ayrıca çalışma zamanı sürümüne göre değerlendirilmelidir.
İlişkili JVM Kavramları
- Structured Concurrency
- Scoped Value
- Thread Pool
- Blocking I/O
Kaynak
- https://openjdk.org/jeps/444
İlgili teknik yazı: Java Tabanlı Veri Sistemlerinde Yüksek Başarım.