Example:
Process 1 reads key simultaneously with Process 2.
Value of this key are too old, so Process 1 going to refresh it. Simultaneously with Process 2.
But both of them trying to lock_key, and Process 1 only will refresh value of key (taking it from database, e.g.),
and Process 2 can decide, what he want to do - use old value and not spent time to database, or something else.