volatile & lock