Java da Thread ve Synchronized Kullanımı
Java da Thread ve Synchronized Kullanımı;
THREAD CLASSI
public class BankaHesap {
private double bakiye;
public BankaHesap(double bakiye) {
this.bakiye = bakiye;
}
public synchronized void ParaCek(String kim, double tutar) {
if (tutar > bakiye) {
System.out.println(kim + " hesapta istenilen miktarda para yok: " + bakiye);
return;
} else {
bakiye -= tutar;
System.out.println(kim + " para cekti: ");
}
}
}
-------------------------------------------------------------
ANA CLASS
public class ParaCek {
public static void main(String[] args) {
BankaHesap hesap = new BankaHesap(1000);
ParaCekmeThread t1 = new ParaCekmeThread(hesap, "thread 1", 600);
ParaCekmeThread t2 = new ParaCekmeThread(hesap, "thread 2", 600);
t1.start();
t2.start();
}
static class ParaCekmeThread extends Thread {
BankaHesap hesap;
String isim;
double tutar;
public ParaCekmeThread(BankaHesap hesap, String isim, double tutar) {
this.hesap = hesap;
this.isim = isim;
this.tutar = tutar;
}
public void run() {
try {
Thread.sleep(10);
} catch (Exception e) {
}
hesap.ParaCek(isim, tutar);
}
}
}
Yorumlar
Yorum Gönder