#16并发控制
在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。
并发控制的主要技术手段有:
- 封锁:是一种多用户同时访问数据库的技术,实现并发的一项重要手段,能够防止当多用户改写数据库时造成数据不一致与冲突。当有一个用户对数据库内的数据进行操作时,在读取数据前先锁住数据,这样其他用户就无法访问和修改该数据,当数据修改并写回数据库后封锁解除。
- 按粒度划分:
- 表锁(文件锁)
- 页锁(page-level lock)
- 记录锁(行锁,SQL标准使用"行"的表述)
- 使用方式划分:
- 互斥锁(exclusive lock,写锁)
- 共享锁(sharing lock,读锁)
- 按粒度划分:
- 时间戳:时间标记(timestamp),国际标准为 ISO 8601
- 乐观并发控制
- 悲观并发控制