• 6.1 背景
  • 6.2 临界区问题
  • 6.3 Peterson 算法
  • 6.4 硬件同步
  • 6.5 信号量
    • 6.5.1 用法
    • 6.5.2 实现
    • 6.5.1 死锁与饥饿
  • 6.6经典同步问题
    • 6.6.1 有限缓冲问题
    • 6.6.2 读者-写者问题
    • 6.6.3 哲学家进餐问题
  • 6.7 管程
    • 6.7.1 使用
    • 6.7.2 哲学家进餐问题的管程解决方案
    • 6.7.3 基于信号量的管程实现
    • 6.7.4 管程内的进程重启
  • 6.8 同步实例
    • 6.8.1 Solaris 同步
    • 6.8.2 Windwos XP 同步
    • 6.8.3 Linux 同步
    • 6.8.4 Pthread 同步
  • 6.9 原子事务
    • 6.9.1 系统模型
    • 6.9.2 基于日志恢复
    • 6.9.3 检查点
    • 6.9.4 开发原子操作