Lock
To sync between transactions, we need lock.
Optimistic Concurrency Control (OCC)
Core: We seldom need to sync. Do remedies (ex: retry?) after conflicts occur.
Example: version control systems like Git/SVN ... Implement:
Pessimistic Concurrency Control (PCC)
Core: We always need to sync. Visit after lock.