Commit 0a400444 by Patryk Czarnik

synchronized

parent 42e2ce95
...@@ -23,7 +23,7 @@ public class Konto { ...@@ -23,7 +23,7 @@ public class Konto {
return numer; return numer;
} }
public int getSaldo() { public synchronized int getSaldo() {
return saldo; return saldo;
} }
...@@ -32,7 +32,11 @@ public class Konto { ...@@ -32,7 +32,11 @@ public class Konto {
return "Konto nr " + numer + ", wł. " + wlasciciel + ", saldo: " + saldo; return "Konto nr " + numer + ", wł. " + wlasciciel + ", saldo: " + saldo;
} }
public void wplata(int kwota) { // Gdy metoda jest synchronizowana, to zapobiega jednoczesnemu wykonywaniu jej treści przez równe wątki.
// Dokładnie: Gdy jeden wątek wykonuje JAKĄKOLWIEK metodę synchronizowaną na danym obiekcie,
// to żaden INNY wątek nie może rozpocząć wykonywania JAKIEJKOLWIEK metody synchronizowanej NA TYM SAMYM OBIEKCIE.
// Wątek, który próbuje wejść do takiej metody, zostanie wstrzymany i wpuszczony dopiero, gdy obiekt będzie wolny.
public synchronized void wplata(int kwota) {
if(kwota <= 0) { if(kwota <= 0) {
throw new IllegalArgumentException("Ujemna kwota w wplata"); throw new IllegalArgumentException("Ujemna kwota w wplata");
} }
...@@ -40,7 +44,7 @@ public class Konto { ...@@ -40,7 +44,7 @@ public class Konto {
notify(); notify();
} }
public void wyplata(int kwota) throws BrakSrodkow { public synchronized void wyplata(int kwota) throws BrakSrodkow {
if(kwota <= 0) { if(kwota <= 0) {
throw new IllegalArgumentException("Ujemna kwota w wyplata"); throw new IllegalArgumentException("Ujemna kwota w wyplata");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment