🚀返回专栏总目录
文章目录
- 一、互斥锁
- 二、驱动案例
沉淀、分享、成长,让自己和他人都能有所收获!😄
一、互斥锁
互斥锁为资源引入一个状态:锁定或者非锁定。某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。
互斥锁保证了每次只有一个线程进行写入操作,从而保证了多线程情况下数据的正确性,能够保证多个线程访问共享数据不会出现资源竞争及数据错误。
内核中以 mutex 结构体来表示互斥体,定义在“内核源码/include/linux/mutex.h”文件中,如下所示:
struct mutex