让一个线程修改一个原子单元(例如一个字符),而另一个线程只读取它,安全吗?当然,在允许这样做的环境中,比如freertos。
我收到了一些代码,它使用bool (定义为char)作为信号量,我不知道为什么他们不只是为了claritys而使用信号量,但是我也不知道使用char有什么危险。
发布于 2014-06-06 16:02:20
如果:
1.处理器读取单个指令中的字符(这很可能)。
2.您的处理器体系结构并不是在执行指令时外部中断可以改变控制流。
3.只有当变量通过ISR更新时,第2点才是有效的。
https://stackoverflow.com/questions/24085970
复制相似问题