平台 | 内核版本 | 安卓版本 |
---|---|---|
RK3588 | Linux 5.10 | Android 12 |
文章目录
- 一、信号量介绍
- 二、信号量API
- 1、结构体
- 2、API
- 三、函数调用流程
沉淀、分享、成长,让自己和他人都能有所收获!😄
📢上一章我们看了自旋锁的原理,本章我们一起学习下信号量的用法。
一、信号量介绍
和自旋锁一样,信号量也是进程或者线程同步的一种机制。内核已经提供了自旋锁了,为什么还会再提供一种同步机制呢?首先我们要对比下两种锁的区别。
自旋锁保护一个资源同时被多个进程访问而不被修改,其他尝试获取该锁的进程将进入忙等待状态,同时禁止上下文切换。因此,自旋锁只允许在占用很短时间
的时候被使用,否则其他进程进入忙等待将会耗费CPU资源。那么,需要长时间