gpt4 book ai didi

c - FreeRTOS 跨线程读取

转载 作者:行者123 更新时间:2023-11-30 15:32:42 25 4
gpt4 key购买 nike

让一个线程修改原子单元(例如字符)而另一个线程仅读取它是否安全?当然,在允许这样做的环境中,例如 freertos。

我得到了一些执行此操作的代码,它使用 bool (定义为 char)作为信号量,我不确定为什么他们不使用信号量只是为了清楚起见,但话又说回来,我看不到使用 char 确实有危险。

最佳答案

它是安全的如果:

1.您的处理器在单个指令中读取一个字符(这很可能)

2.您的处理器架构在执行指令时外部中断不会改变控制流。

3.仅当您的变量通过 ISR 更新时,第 2 点才有效

关于c - FreeRTOS 跨线程读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24085970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com