Preventing modification collisions using shared/exclusive locking blocks.
How databases handle concurrent queries using version logs.