class Lock { private boolean available = true; synchronized boolean get() { if (available) { available = false; return true; } return false; } synchronized void release() { available = true; } }