![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux同步
y33988979
这个作者很懒,什么都没留下…
展开
-
linux锁机制:queued spinlock
queued spinlockticket spinlock巧妙的解决了锁的公平性问题,但它在锁竞争方面还不够完美,linux-4.2内核引入了queued spinlock。queued spinlock由Waiman Long和Perter Zijlstra 发起,补丁集经过了16个版本,并入了主线。https://lkml.org/lkml/2015/4/24/63...原创 2019-10-22 09:55:44 · 3269 阅读 · 3 评论 -
linux锁机制:ticket spinlock
spinlock spinlock即自旋锁,在linux内核中广泛运用的底层同步机制,相对于可睡眠锁,spinlock采用spin的方式获取锁(busy-wait),避免了context_switch的开销,在短暂临界区访问场景下速度明显提升,性能更高,对memory等critical section互斥访问,发挥着重要作用。spinlock对内核的数据安全性和并发性能有很大的...原创 2019-10-16 16:13:42 · 2423 阅读 · 0 评论 -
futex机制介绍
1、概念futex: a sort of fast, user-space mutual exclusion primitive. Futex是一种用户态和内核态混合的同步机制。首先,同步的进程间通过mmap共享一段内存,futex变量就位于这段共享的内存中且操作是原子的,当进程尝试进入互斥区或者退出互斥区的时候,先去查看共享内存中的futex变量,如果没有竞争发生,则只修改futex,而不用...原创 2018-08-31 10:21:04 · 17117 阅读 · 0 评论