Beispielaufgaben Netzwerkprogrammierung Aufgabe: Bugs Wenn Programme von verschiedenen Rechnern aus gleichzeitig ausgeführt werden, kann es zu Konflikten kommen. Die folgende Java-Methode bucht eine Auszahlung eines gegebenen Betrags von einem Konto ab. Der zurückgegebene Wahrheitswert (true oder false) signalisiert, ob die Auszahlung durchgeführt wurde oder nicht: public boolean auszahlen (int betrag) { if (betrag ﹤ 0) return false; int neu = kontostand - betrag; if (neu > 0) { kontostand = neu; return true; } else return false; } Welche Probleme können auftreten, wenn unabhängige parallele Aufrufe möglich sind? Der Kontostand könnte unter Umständen negativ werden. Es könnte mehr Geld ausgezahlt werden als laut Kontostand vorhanden. Der Betrag bei einer Auszahlung könnte mehrfach abgezogen werden.