有一次面试,面试官问linux自带的锁有哪些知道么?发现自己知道一些锁,例如读写锁,互斥锁,但是居然分不清是不是属于linux下的锁还是不是的,而且居然也说不出更多的锁机制,汗颜~~~
下面整理了一些linux自己带的锁
自旋锁
- 等待的线程需要不断查询,旋转的等资源被上一个线程释放。
读写自旋锁
- 这样可以实现多个进程读,只要没有写操作的时候。
信号量
- 计数信号量
- 二值信号量
信号量上等待的线程可以睡眠。
读写信号量
互斥量 mutex(简化版的信号量)
BLK:大内核锁(全局自旋锁)
完成变量
顺序锁
禁止抢占
- 顺序和屏障