volatile的作用

C語言關鍵字volatile表明某個變量的值可能隨時被外部改變(如外設端口寄存器值),因此對這些變量的存取不能緩存到寄存器,每次使用時需要重新讀取,因此經常用於外設接口的編程中。該關鍵字在多線程環境下經常使用,因爲在編寫多線程的程序時,同一個變量可能被多個線程修改,而程序通過該變量同步各個線程。對於編譯器來說,它不知道這個值會被其他線程修改,自然就把它緩存到寄存器裏面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章