程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C# 中的 Volatile 關鍵字

C# 中的 Volatile 關鍵字

編輯:.NET實例教程

Volatile 字面的意思時易變的,不穩定的。在C#中也差不多可以這樣理解。

編譯器在優化代碼時,可能會把經常用到的代碼存在Cache裡面,然後下一次調用就直接讀取Cache而不是內存,這樣就大大提高了效率。但是問題也隨之而來了。

在多線程程序中,如果把一個變量放入Cache後,又有其他線程改變了變量的值,那麼本線程是無法知道這個變化的。它可能會直接讀Cache裡的數據。但是很不幸,Cache裡的數據已經過期了,讀出來的是不合時宜的髒數據。這時就會出現bug。

用Volatile聲明變量可以解決這個問題。用Volatile聲明的變量就相當於告訴編譯器,我不要把這個變量寫Cache,因為這個變量是可能發生改變的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved