Bir dizi görevi yerine getiren iş parçacıkları (~ 5-150) oluşturan bir programım var. Başlangıçta a kullandım FixedThreadPool
çünkü bu benzer soru onların daha uzun ömürlü görevler için daha uygun olduğunu gösteriyordu ve çok iş parçacığına ilişkin çok sınırlı bilgimle, iş parçacığının ortalama ömrünü (birkaç dakika) " uzun ömürlü " olarak değerlendirdim.
Ancak, yakın zamanda ek iş parçacıkları oluşturma özelliğini ekledim ve bunu yapmak beni belirlediğim iş parçacığı sınırının üzerine çıkarıyor. Bu durumda, izin verebileceğim iş parçacığı sayısını tahmin etmek ve artırmak veya CachedThreadPool
boşa giden iş parçacığı kalmaması için a'ya geçmek daha mı iyi olur?
İkisini de başlangıçta denediğimde, bir fark yok gibi görünüyor , bu yüzden CachedThreadPool
israfı önlemek için adaletle gitmeye meyilliyim . Bununla birlikte, iş parçacığının ömrü, bunun yerine bir seçmem FixedThreadPool
ve kullanılmayan iş parçacıklarıyla ilgilenmem gerektiği anlamına mı geliyor? Bu soru , bu ekstra konuların boşa gitmediğini gösteriyor, ancak açıklamayı takdir ediyorum.