Does the following variable, x, need to be volatile?
Or does the manipulation within a utils.concurrent lock perform the same function as a synchronized block (ensuring it's written to memory, and not stored in cpu cache)?
myMethod(){
myLock.lock();
x++;
myLock.unlock();
}