堆高機
堆高機:海斯特堆高機,日本原裝柴油堆高機,電動堆高機 ,立式電動堆高機 www.hyster.net.tw
fdhgkjlk
暱稱: fdshgk
性別: 女
國家: 美國
地區: 其他地區
« July 2019 »
SMTWTFS
123456
78910111213
14151617181920
21222324252627
28293031
最新文章
鋼筋切割機安全操作規...
“審核”激光切割機的...
激光切割機在電器行業...
泡沫切割機制作全過程
激光切割機具備哪些優...
文章分類
全部 (656)
醫療保健 (16)
顯微鏡 (4)
人工植牙 (19)
工作職場 (9)
工業機械 (42)
生活資訊 (114)
失眠 (4)
血壓計 (2)
投資理財 (14)
汽車 (6)
花店資訊 (9)
服飾批發 (10)
室內設計 (3)
美食與餐飲 (11)
美容整形 (7)
家政服務 (7)
旅遊住宿 (4)
娛樂休閒 (2)
婚慶文化 (7)
教育學習 (10)
清水溝 (16)
清潔公司 (19)
窗簾資訊 (4)
搜尋行銷 (37)
感情挽回 (4)
新聞類 (1)
經濟金融 (18)
徵信與徵信社 (2)
未分類 (255)
訪客留言
最近三個月尚無任何留言
工業機械資訊
氬焊機 TIG焊機 半自動電焊機 CO2焊機 切割機 電離子切割機 電離子焊接機 電焊機 引擎電焊機 植釘機 點焊機 自動化設備 潛伏焊設備 圓鋸機 焊接護具 雷射加工 雷射切割 焊接組立 鈑金加工 台中CNC加工 銑床加工 CNC銑床加工 台中機械加工 龍門加工
鏈接
防水 抓漏 防水抓漏 通風設備 工業水冷扇 大型排風扇 廠房通風 堆高機 廢鐵回收 led招牌 字幕機 電視牆 跑馬燈 廣告招牌 橡膠 橡膠 RP 3D列印 打樣 樣品 逆向工程 室內設計
每月文章
日誌訂閱
尚未訂閱任何日誌
好友名單
尚無任何好友
網站連結
尚無任何連結
最近訪客
最近沒有訪客
日誌統計
文章總數: 656
留言總數: 9
今日人氣: 59
累積人氣: 1575
站內搜尋
RSS 訂閱
RSS Feed
2009 年 11 月 20 日  星期五   晴天


新關鍵字volatile的安排 分類: 搜尋行銷

新關鍵字volatile的安排

 

在Java中設置變量值的操作,除了long和double類型的變量外都是原子操作,也就是說,對於變量值的簡單讀寫操作沒有必要進行同步。

這在JVM 1.2之前,Java的內存模型實現總是從主存讀取變量,是不需要進行特別的注意的。而隨著JVM的成熟和優化,現在在多線程環境下volatile關鍵字的使用變得非常重要。

在當前的Java內存模型下,線程可以把變量保存在本地內存(比如機器的寄存器)中,關鍵字廣告而不是直接在主存中進行讀寫。這就可能造成一個線程在主存中修改了一個變量的值,而另外一個線程還繼續使用它在寄存器中的變量值的拷貝,造成數據的不一致。
Volatile修飾的成員變量在每次被線程訪問時,都強迫從共享內存中重讀該成員變量的值。而且,當成員變量發生變化時,強迫線程將變化值回寫到共享內存。這樣在任何時刻,兩個不同的線程總是看到某個成員變量的同一個值。

Java語言規範中指出:為了獲得最佳速度,允許線程保存共享成員變量的私有拷貝,而且只當線程進入或者離開同步代碼塊時才與共享成員變量的原始值對比。

這樣當多個線程同時與某個對象交互時,就必須要注意到要讓線程及時的得到共享成員變量的變化。

而volatile關鍵字就是提示VM:對於這個成員變量不能保存它的私有拷貝,而應直接與共享成員變量交互。
要解決這個問題,只需要像在本程序中的這樣,把該變量聲明為volatile(不穩定的)即可,關鍵字廣告這就指示JVM,這個變量是不穩定的,每次使用它都到主存中進行讀取。一般說來,多任務環境下各任務間共享的標誌都應該加volatile修飾。

使用建議:在兩個或者更多的線程訪問的成員變量上使用volatile。當要訪問的變量已在synchronized代碼塊中,或者為常量時,不必使用。

由於使用volatile屏蔽掉了VM中必要的代碼優化,所以在效率上比較低,關鍵字廣告因此一定在必要時才使用此關鍵字。
 






訪客留言 (返回 fdhgkjlk 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]