author | Jaroslav Tulach <jaroslav.tulach@apidesign.org> |
Fri, 03 Apr 2020 16:32:36 +0200 | |
changeset 416 | 9ed8788a1a4e |
permissions | -rw-r--r-- |
1 package org.apidesign.deadlock;
3 public final class SynchronizedFields {
4 // BEGIN: deadlock.holdsLock
5 private int counter;
7 private int getCounter() {
8 assert Thread.holdsLock(this);
9 return counter;
10 }
12 private void setCounter(int c) {
13 assert Thread.holdsLock(this);
14 counter = c;
15 }
16 // END: deadlock.holdsLock
19 public synchronized void increment() {
20 setCounter(getCounter() + 1);
21 }
23 public void unsafeDecrement() {
24 setCounter(getCounter() - 1);
25 }
26 }