发新帖我要提问
12
返回列表
打印
[STM32F3]

使用互斥锁保护共享资源

[复制链接]
楼主: 突然下起雨
手机看帖
扫描二维码
随时随地手机跟帖
21
jkl21| | 2024-8-10 16:59 | 只看该作者 回帖奖励 |倒序浏览
在访问共享资源前禁用中断,访问结束后重新使能中断。这种方法简单但粗暴,因为它会暂停所有中断服务例程的执行,可能会影响系统的实时性。

使用特权

评论回复
22
alvpeg| | 2024-8-10 19:42 | 只看该作者
互斥锁适用于多任务并发执行的场景,但也需要考虑其带来的额外开销。

使用特权

评论回复
23
loutin| | 2024-8-10 21:49 | 只看该作者
在访问共享资源之前,任务必须尝试获取互斥锁。如果互斥锁已被其他任务持有,则当前任务将等待,直到互斥锁变为可用。

使用特权

评论回复
24
晓伍| | 2024-8-11 10:05 | 只看该作者
可以单纯的使用一个变量来达到目的吗

使用特权

评论回复
25
八层楼| | 2024-8-11 17:11 | 只看该作者
每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象

使用特权

评论回复
26
cashrwood| | 2024-8-11 21:25 | 只看该作者
使用互斥锁(Mutex)是一种常见的同步机制,用于保护共享资源不被多个任务同时访问,从而避免竞态条件(Race Condition)和数据不一致的问题。

使用特权

评论回复
27
观海| | 2024-8-12 08:18 | 只看该作者
有两种方法创建互斥锁,静态方式和动态方式

使用特权

评论回复
28
guanjiaer| | 2024-8-12 13:41 | 只看该作者
互斥锁的属性在创建锁的时候指定,在LinuxThreads实现中仅有一个锁类型属性,不同的锁类型在试图对一个已经被锁定的互斥锁加锁时表现不同

使用特权

评论回复
29
houjiakai| | 2024-8-13 05:27 | 只看该作者
在没有硬件支持的情况下,可以通过软件算法(如自旋锁)来尝试获取锁,但这种方法可能会导致优先级反转或死锁等问题,并且会消耗CPU资源。

使用特权

评论回复
30
adolphcocker| | 2024-8-18 22:43 | 只看该作者
互斥锁的实现可能依赖于特定的硬件特性或操作系统提供的同步原语。

使用特权

评论回复
31
janewood| | 2024-8-19 16:14 | 只看该作者
在单片机中使用互斥锁来保护共享资源可以有效地避免资源竞争和数据不一致的问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则