Commit 28c2fba2 by Patryk Czarnik

synchronized

parent 57f8c3c5
...@@ -32,7 +32,12 @@ public class Konto { ...@@ -32,7 +32,12 @@ public class Konto {
return "Konto nr " + numer + ", wł. " + wlasciciel + ", saldo " + saldo; return "Konto nr " + numer + ", wł. " + wlasciciel + ", saldo " + saldo;
} }
public void wplata(int kwota) { // synchronized oznacza, że
// - jeden wątek może rozpocząć wykonywanie metody synchronized
// - ale gdy inny wątek próbuje rozpocząć wykonywanie
// JAKIEJKOLWIEK metody synchornized NA TYM SAMYM OBIEKCIE
// to jest wstrzymywany do czasu, aż pierwszy wątek wyjdzie ze swojej metody synchronizowanej
public synchronized void wplata(int kwota) {
if(kwota <= 0) { if(kwota <= 0) {
throw new IllegalArgumentException("Niedodatnia kwota w metodzie wplata"); throw new IllegalArgumentException("Niedodatnia kwota w metodzie wplata");
} }
...@@ -40,7 +45,7 @@ public class Konto { ...@@ -40,7 +45,7 @@ public class Konto {
} }
// W tej wersji metoda w razie braku środków wyrzuca wyjątek // W tej wersji metoda w razie braku środków wyrzuca wyjątek
public void wyplata(int kwota) { public synchronized void wyplata(int kwota) {
if(kwota <= 0) { if(kwota <= 0) {
throw new IllegalArgumentException("Niedodatnia kwota w metodzie wyplata"); throw new IllegalArgumentException("Niedodatnia kwota w metodzie wyplata");
} }
...@@ -50,6 +55,4 @@ public class Konto { ...@@ -50,6 +55,4 @@ public class Konto {
saldo -= kwota; saldo -= kwota;
} }
} }
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