package garden;

public class SynchCounter implements Counter {

	private int count_;

	public SynchCounter () {
		count_ = 0;
	}

	/*
	 * (non-Javadoc)
	 * @see Counter#getValue()
	 */
	@Override
	public int getValue () {
		return count_;
	}

	/*
	 * (non-Javadoc)
	 * @see Counter#increment()
	 */
	@Override
	public synchronized void increment () {
		int value = count_;
		Thread.yield();
		count_ = value + 1;
	}

	public synchronized void decrement () {
		int value = count_;
		Thread.yield();
		count_ = value - 1;
	}
}
