透过 Linux 内核看无锁编程(2)

根据复杂程度、加锁粒度及运行速度,可以得出如下图所示的锁层级:


图 1. 加锁层级

图 1. 加锁层级


其中标注为红色字体的方案为 Blocking synchronization,黑色字体为 Non-blocking synchronization。Lock-based 和 Lockless-based 两者之间的区别仅仅是加锁粒度的不同。图中最底层的方案就是大家经常使用的 mutex 和 semaphore 等方案,代码复杂度低,但运行效率也最低。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpdwy.html