Thread Pool (Executors) Kavramı
Java, Kotlin ThreadPoolExecuter, Executors kavramları ve birden fazla thread ile işlerin yönetimi multithreding
Last updated
© 2024 ~ Yunus Emre Ak ~ yEmreAk
Java, Kotlin ThreadPoolExecuter, Executors kavramları ve birden fazla thread ile işlerin yönetimi multithreding
Last updated
🚄 Yapılacak işler Task Queue içerisinde sıraya alınır
🦄 Her iş, tek tek oluşturulan Thread Pool üzerindeki boş bulunan thread üzerinde tamamlanır
💦 Tamamlanan işlerden sonra thread serbest bırakılır, Task Queue üzerinden yeni iş alınır
💎 Tür | 📝 Açıklama | 🤔 Ne zaman tercih edilmeli |
---|
💠 Metot | 📝 Açıklama |
---|
⚡ Fixed | Sabit sayıda thread ile havuz oluşturulur, boşta thread yoksa işler bekletilir | Genellikle tercih edilen en iyi durumdur |
🤹♂️ Cached | Lazım oldukça thread oluşturulur, | Uzun süreli işlemlerde kullanılmaz, sistemin kaldıramayacağı kadar thread oluşturulabilir |
🕐 Scheduled | Belirli aralıklarla işleri sırayla yapan thread yapısı | Periyodik olarak yapılacak işler |
🦄 Single | Tüm işler için tek bir thread yapısı oluşturulur. | Tek bir iş için tercih edilir |
🧛♂️ Work Stealing | İş için gerekli sayıda thread oluşturur | Çoklu işlem gücü olan makinelerde, paralelizm için kullanılır |
| Executor'u direkt olarak sonlandırır, verilen görevleri çalıştırmaz, olan görevler tamamlanır ama metotlar tamamlanmaz |
| Kapatma sinyali aldığında ve executor işini bitirdiği zaman |
| Kapatma sinyali aldığında |
| Thread'i executor görevini tamamlayıncaya kadar yada verilen süre kadar bloklar |