概述
Linux 同步锁总结
锁的基本原理就是一个简单的计数器;
很多锁本身不能用于进程间共享数据的同步(特别是内核中常用的锁),但是在应用层有办法可以用于进程间的数据同步(比如:在共享内存中)
在应用层常用:
1. pthread_mutex_t
定义成全局变量,常用于线程间数据的同步
2. 信号量
常用于进程间数据的同步
由于应用层的进程是单独的虚拟进程空间,地址空间不一致,所以在应用层用于进程间数据同步的同步锁,需要采用一定的办法。
在内核层常用:
在内核中,经常会用到数据同步,但是内核中使用的虚拟地址空间都是一样的,所以内核中定义的锁(全局变量),在能访问到的地方都可以使用:
1. 自旋锁 spin_lock
2. 大读者锁
3. 顺序锁
4. atomic 原子操作
5. Per-CPU 变量
内核中用到的锁,都是可以移植到应用层去使用。后续有机会,在讲讲内核中的锁吧!
最后
以上就是健康蛋挞为你收集整理的linux同步锁总结的全部内容,希望文章能够帮你解决linux同步锁总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复