0
有一個線程修改原子單元(例如字符),而另一個線程只讀取它是否安全? 在一個允許這種情況的環境中,如freertos。FreeRTOS跨線程讀取
我已經給出了一些代碼,只是這樣做,它使用布爾(定義爲字符)作爲信號量,我不知道他們爲什麼沒有使用信號只是爲了清晰起見,但是我再也看不到真正使用char的危險。
有一個線程修改原子單元(例如字符),而另一個線程只讀取它是否安全? 在一個允許這種情況的環境中,如freertos。FreeRTOS跨線程讀取
我已經給出了一些代碼,只是這樣做,它使用布爾(定義爲字符)作爲信號量,我不知道他們爲什麼沒有使用信號只是爲了清晰起見,但是我再也看不到真正使用char的危險。
及其安全如果:
1.您的處理器讀取單個指令的字符(這是非常可能)
2.您處理器架構不使得在執行一個指令的外部中斷可以改變控制流。
3.只有當您的變量通過ISR更新時,第2點纔是vaild