7 Eylül 2017 Perşembe

Executors Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.util.concurrent.Executors;
Bu sınıf tamamen static metodlardan oluşan yardımcı bir sınıftır.

newFixedThreadPool metodu
İmzası şöyle
public static ExecutorService newFixedThreadPool(int nThreads)
Bir ExecutorService oluşturur. Şöyle yaparız.
ExecutorService executorService = Executors.newFixedThreadPool(3);
Bu metod verilen servise üst sınır konulmak istenilirse faydalı. Örneğin aynı anda sadece 4 müşteriye hizmet vermek gibi. Böylece patlama anlarında sisteme aşırı yük binmesini engellenebiliyor. Açıklaması şöyle
Use thread pools to enable graceful degradation of service during traffic bursts
Bu servisi kullanırken dikkat edilmesi gereken tasarım noktası, thread sayısı sınırlı olduğu için yeni işletilmekte olan işin, aynı ExecutorService nesnesine yeni yeni işler ekleyip sonucunun bitmesini beklememesi. Bu durum deadlock (kilitlenme) oluşmasına sebep olabilir. Açıklaması şöyle
Do not execute interdependent tasks in a bounded thread pool
newWorkStealingPool metodu
Açıklaması şöyle
Creates a work-stealing thread pool using all available processors as its target parallelism level.
İmzası şöyle
public static ExecutorService newWorkStealingPool();


Hiç yorum yok:

Yorum Gönder