Örnek

newFixedThreadPool ile ExecutorService Yaratan Bir Örnek

Bu örnekte 10 Thread havuzu olan bir ExecutorService yaratıyoruz. Bu servise 25 ayrı Thread ekliyoruz ve çalıştırıyoruz:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class TestApp {
		
	public static void main(String[] args) {
		
		ExecutorService executor = Executors.newFixedThreadPool(10);
		
		for (int i = 0; i < 25; i++) {
			 
			Runnable worker = new MyRunnable(i+1);
			executor.execute(worker);
			
		}
		
		executor.shutdown();
		// Thread'lerin sona ermesi beklenir
		while (!executor.isTerminated()) {
			
		}
		
		System.out.println("Uygulama sona erdi");
		
	}
	
	public static class MyRunnable implements Runnable {
		private int index=0;
		
		public MyRunnable(int index) {
			this.index=index;
		}
		
		@Override
		public void run() {
			
			System.out.println(index+".nci thread calisiyor");
			
		    try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		    
		}
		
	}
}
Uygulama önce 10 thread havuzu olan bir ExecutorService servisi yaratılıyor. Havuzun anlamı aynı anda en fazla 10 Thread'in çalışmasıdır. Sonra 25 Thread yaratıp çalıştırıryoruz. Ardından shutdown() ile kapatıyoruz. Ancak executor.isTerminated() ile tüm Thread'lerin çalışmasını tamamlamasını bekliyoruz. Uygulama çalıştığı zaman 25 Thread'i 10ar 10ar işleyecek ve kapanacaktır :
2.nci thread calisiyor
3.nci thread calisiyor
1.nci thread calisiyor
4.nci thread calisiyor
5.nci thread calisiyor
6.nci thread calisiyor
7.nci thread calisiyor
8.nci thread calisiyor
9.nci thread calisiyor
10.nci thread calisiyor
11.nci thread calisiyor
13.nci thread calisiyor
12.nci thread calisiyor
14.nci thread calisiyor
15.nci thread calisiyor
16.nci thread calisiyor
17.nci thread calisiyor
19.nci thread calisiyor
18.nci thread calisiyor
20.nci thread calisiyor
21.nci thread calisiyor
23.nci thread calisiyor
22.nci thread calisiyor
25.nci thread calisiyor
24.nci thread calisiyor
Uygulama sona erdi
zafer.teker , 07.03.2020

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir