Creating Threads, Anonymous Thread Class

Kategori: Java , 19 Temmuz 2019 , JanFranco


Son olarak bir başka Thread oluşturma yöntemini görüyoruz. Bu sefer Printer sınıfını kullanmayacağız. Direk Main_class üzerinden threadleri oluşturalım:


public class Main_class {

	public static void main(String[] args){
		
		Thread printer1 = new Thread(new Runnable() {
			@Override
			public void run() {
				System.out.println("Thread 1 is working");
				for(int i=1; i<=10; i++){
					System.out.println("1Writes: " + i);
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						System.out.println("Thread.sleep interrupted.");
					}
				}
			}
		});
		
		Thread printer2 = new Thread(new Runnable() {
			
			@Override
			public void run() {
				System.out.println("Thread 2 is working");
				for(int i=1; i<=10; i++){
					System.out.println("2Writes: " + i);
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						System.out.println("Thread.sleep interrupted.");
					}
				}
			}
		});
		
		printer1.start();
		printer2.start();
		
		System.out.println("Main Thread is working");
		
	}
	
}
Anonymous sınıfları daha öncesinde görmüştük, bahsetmiştim. Anonymous sınıflar sayesinde Printer sınıfını kullanmadan da Threadler oluşturabiliriz. Bir başka kullanım şekli de:


public class Main_class {

	public static void main(String[] args){
		
		new Thread(new Runnable() {
			@Override
			public void run() {
				System.out.println("Thread 1 is working");
				for(int i=1; i<=10; i++){
					System.out.println("1Writes: " + i);
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						System.out.println("Thread.sleep interrupted.");
					}
				}
			}
		}).start();
		
		new Thread(new Runnable() {
			
			@Override
			public void run() {
				System.out.println("Thread 2 is working");
				for(int i=1; i<=10; i++){
					System.out.println("2Writes: " + i);
					try {
						Thread.sleep(1000);
					} catch (InterruptedException e) {
						System.out.println("Thread.sleep interrupted.");
					}
				}
			}
		}).start();
		
		System.out.println("Main Thread is working");
		
	}
	
}
Sonucu görelim:

Thread 1 is working
Main Thread is working
1Writes: 1
Thread 2 is working
2Writes: 1
1Writes: 2
2Writes: 2
2Writes: 3
1Writes: 3
2Writes: 4
1Writes: 4
2Writes: 5
1Writes: 5
1Writes: 6
2Writes: 6
2Writes: 7
1Writes: 7
2Writes: 8
1Writes: 8
1Writes: 9
2Writes: 9
1Writes: 10
2Writes: 10


Sonraki Yazı: Join, Synchronized
Yorumlar

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