Commit 07ac37ea authored by Trisha Gee's avatar Trisha Gee
Browse files

[Ch15] Atomic version from the book

parent 80676bed
Loading
Loading
Loading
Loading
+1 −4
Changes for src/main/java/ch15/ryanmonica/RyanAndMonicaAtomicTest.java: 1 added line, 4 removed lines.
Original line number Diff line number Diff line
@@ -45,16 +45,13 @@ class RyanAndMonicaAtomicJob implements Runnable {

class BankAccountWithAtomic {
  private final AtomicInteger balance = new AtomicInteger(100);
  public int getBalance() {
    return balance.get();
  }

  public void spend(String name, int amount) {
    int initialBalance = balance.get();
    if (initialBalance >= amount) {
      boolean success = balance.compareAndSet(initialBalance, initialBalance - amount);
      if (!success) {
        System.out.println("Sorry " + name + ", try again");
        System.out.println("Sorry " + name + ", you can't buy this");
      }
    } else {
      System.out.println("Sorry, not enough for " + name);