Creating Threads, Implementing Runnable Interface

Kategori: Java , 19 Temmuz 2019 , JanFranco


Bir önceki yazımızda Threadlerden bahsetmiştik ve Thread sınıfından miras alarak bir sınıf yazıp threadler oluşturmuştuk. Bu yazımızda ise yine Printer sınıfını kullanacağız fakat Thread sınıfından miras almak yerine Runnable Interfacesini implemente edeceğiz. Görelim:


public class Printer implements Runnable{

	private String isim;

	public Printer(String isim) {
		this.isim = isim;
	}

	@Override
	public void run() {
		System.out.println(isim + " starts working...");
		
		for(int i=1; i<=10; i++){
			System.out.println(isim + " is working " + i);
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				System.out.println("Thread.sleep interrupped...");
			}
		}
	}
	
}
Aynı işlemler, tek fark Runnable Interfacesini implementi ettik. Main_class üzerinden iki thread oluşturalım:


public class Main_class {

	public static void main(String[] args){
		
		Thread printer1 = new Thread(new Printer("printer1"));
		Thread printer2 = new Thread(new Printer("printer2"));
		
		printer1.start();
		printer2.start();
		
		System.out.println("Main Thread 1 is Working");
		
	}
	
}
Sonuç tabi ki değişmeyecek. Burada sadece thread oluşturma yöntemini değiştirdik. Performansın değişmesini bekleyemeyiz:

Main Thread 2 is Working
printer2 starts working...
printer2 is working 1
printer1 starts working...
printer1 is working 1
printer2 is working 2
printer1 is working 2
printer2 is working 3
printer1 is working 3
printer1 is working 4
printer2 is working 4
printer2 is working 5
printer1 is working 5
printer2 is working 6
printer1 is working 6
printer2 is working 7
printer1 is working 7
printer2 is working 8
printer1 is working 8
printer1 is working 9
printer2 is working 9
printer1 is working 10
printer2 is working 10


Sonraki Yazı: Creating Threads, Anonymous Thread Class
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın