"one thing every experienced performance tuner learns quickly - it's all about perception. Reality doesn't matter if the perception of that reality hits the right spot."
"ReentrantLock class in java.util.concurrent.lock has the same memory semantics as synchronized, the same locking semantics, better performance under contention, and features not offered by synchronized like like lock polling, timed lock waits, and interruptible lock waits"