description |
---|
Java, Kotlin ThreadPoolExecuter, Executors kavramları ve birden fazla thread ile işlerin yönetimi multithreding |
- 🚄 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 |
---|---|---|
⚡ 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 |
💠 Metot | 📝 Açıklama |
---|---|
shutdownNow() |
Executor'u direkt olarak sonlandırır, verilen görevleri çalıştırmaz, olan görevler tamamlanır ama metotlar tamamlanmaz |
isTerminated() |
Kapatma sinyali aldığında ve executor işini bitirdiği zaman true verir |
isShutdown() |
Kapatma sinyali aldığında true verir |
awaitTermination(long timeout,TimeUnitunit) |
Thread'i executor görevini tamamlayıncaya kadar yada verilen süre kadar bloklar |
{% embed url="https://howtodoinjava.com/java/multi-threading/java-thread-pool-executor-example/" %}