Interpretation of java multi-threaded lock