小结
旋转锁(Interlocked)
关键代码段(CRITICAL_SECTION)
Slim读写锁(SRWLOCK)
条件变量(CONDITION_VARIABLE)
同步机制的性能比较
线程/微妙 | Volatile读取 | Volatile写入 | Interlocked递增 | 关键段 | SRWLock共享模式 | SRWLock独占模式 | 互斥量(内核对象) |
---|---|---|---|---|---|---|---|
1 | 8 | 8 | 35 | 66 | 66 | 67 | 1060 |
2 | 8 | 76 | 153 | 268 | 134 | 148 | 11082 |
3 | 9 | 145 | 361 | 768 | 244 | 307 | 23785 |
最佳性能当然是不使用共享数据,然后依次使用Volatile读取,Volatile写入,Interlocked递增,关键段,SRWLock共享模式,SRWLock独占模式,互斥量。