0
有一个线程修改原子单元(例如字符),而另一个线程只读取它是否安全? 在一个允许这种情况的环境中,如freertos。FreeRTOS跨线程读取
我已经给出了一些代码,只是这样做,它使用布尔(定义为字符)作为信号量,我不知道他们为什么没有使用信号只是为了清晰起见,但是我再也看不到真正使用char的危险。
有一个线程修改原子单元(例如字符),而另一个线程只读取它是否安全? 在一个允许这种情况的环境中,如freertos。FreeRTOS跨线程读取
我已经给出了一些代码,只是这样做,它使用布尔(定义为字符)作为信号量,我不知道他们为什么没有使用信号只是为了清晰起见,但是我再也看不到真正使用char的危险。
及其安全如果:
1.您的处理器读取单个指令的字符(这是非常可能)
2.您处理器架构不使得在执行一个指令的外部中断可以改变控制流。
3.只有当您的变量通过ISR更新时,第2点才是vaild