平台 | 内核版本 | 安卓版本 |
---|---|---|
RK3588 |
Linux 5.10 |
Android 12 |
文章目录
- 一、自旋锁死锁
- 二、实验程序的编写
-
- 2.1、驱动程序编写
- 2.2、编写测试 APP
沉淀、分享、成长,让自己和他人都能有所收获!😄
📢自旋锁若是使用不当就会产生死锁,在本篇将会对自旋锁的特殊情况-死锁进行讲解。
一、自旋锁死锁
死锁是指两个或多个事物在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象。当多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进,这种情况就是死锁。
自旋锁死锁发生存在两种情况:
- 第一种情况是拥有自旋锁的进程
A
在内核态阻塞了,内核调度B
进程