diff -r 000000000000 -r e492694451f6 samples/deadlock/src/org/apidesign/deadlock/SynchronizedFields.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/samples/deadlock/src/org/apidesign/deadlock/SynchronizedFields.java Sat Jun 14 09:54:28 2008 +0200 @@ -0,0 +1,26 @@ +package org.apidesign.deadlock; + +public final class SynchronizedFields { + // BEGIN: deadlock.holdsLock + private int counter; + + private int getCounter() { + assert Thread.holdsLock(this); + return counter; + } + + private void setCounter(int c) { + assert Thread.holdsLock(this); + counter = c; + } + // END: deadlock.holdsLock + + + public synchronized void increment() { + setCounter(getCounter() + 1); + } + + public void unsafeDecrement() { + setCounter(getCounter() - 1); + } +}