do validation and preparation before locking 2. **Release locks as early as possible** — commit promptly after updates 3. **Minimize processing between lock acquisition and release** — no I/O to non-locked resources, no complex calculations 4. **Use the least restrictive lock mode** — share locks fo