成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Java的volatile

開發 后端
就象大家更熟悉的const一樣,volatile是一個類型修飾符(type specifier)。它是被設計用來修飾被不同線程訪問和修改的變量。如果沒有volatile,基本上會導致這樣的結果:要么無法編寫多線程程序,要么編譯器失去大量優化的機會。本文主要介紹java中的volatile,一起來看。

Java 語言中的 volatile 變量可以被看作是一種 “程度較輕的 synchronized”;與 synchronized 塊相比,volatile 變量所需的編碼較少,并且運行時開銷也較少,但是它所能實現的功能也僅是 synchronized 的一部分。

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

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

在當前的Java內存模型下,線程可以把變量保存在本地內存(比如機器的寄存器)中,而不是直接在主存中進行讀寫。這就可能造成一個線程在主存中修改了一個變量的值,而另外一個線程還繼續使用它在寄存器中的變量值的拷貝,造成數據的不一致。

要解決這個問題,只需要像在本程序中的這樣,把該變量聲明為volatile(不穩定的)即可,這就指示JVM,這個變量是不穩定的,每次使用它都到主存中進行讀取。一般說來,多任務環境下各任務間共享的標志都應該加volatile修飾。

Volatile修飾的成員變量在每次被線程訪問時,都強迫從共享內存中重讀該成員變量的值。而且,當成員變量發生變化時,強迫線程將變化值回寫到共享內存。這樣在任何時刻,兩個不同的線程總是看到某個成員變量的同一個值。

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

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

而volatile關鍵字就是提示VM:對于這個成員變量不能保存它的私有拷貝,而應直接與共享成員變量交互。

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

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

【編輯推薦】

  1. 初學Java多線程:慎重使用volatile關鍵字
  2. 2.5.4 const和volatile
  3. 2.4.7 __volatile__
  4. 2.4.6 volatile
  5. 5.2.11 表的volatile特性
責任編輯:于鐵 來源: 考試大
相關推薦

2023-10-11 08:29:54

volatileJava原子性

2023-07-11 08:43:43

volatileJava內存

2023-08-26 11:32:07

2019-09-04 14:14:52

Java編程數據

2024-12-23 15:05:29

2009-05-05 09:46:18

Java編碼理論字符

2015-09-01 15:12:45

JavaHashMap那點事

2018-12-18 14:08:01

Java內存volatile

2021-11-26 07:31:43

Java反射程序

2009-06-18 13:32:39

Java線程生命周期

2017-08-04 11:41:53

Javathreadpool框架

2017-08-07 20:50:27

JavaForkJoin

2021-01-15 05:12:14

Java并發樂觀鎖

2011-11-28 09:25:36

Java輸入輸出

2011-03-09 09:44:15

JavaMina框架

2013-08-07 10:46:07

Java并發編程

2025-06-13 08:00:00

Java并發編程volatile

2018-01-19 10:43:06

Java面試官volatile關鍵字

2021-02-05 11:35:03

原子類數值變量

2009-06-19 16:22:55

Java存儲過程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜影院在线 | 成人欧美一区二区三区视频xxx | 久久国产精彩视频 | 国产一区二区三区在线视频 | 久草欧美 | av免费看在线 | 中文字幕国产视频 | 天天天天天天天干 | 毛片入口| 91精品观看 | 欧美日韩不卡合集视频 | 性生生活大片免费看视频 | 午夜视频一区二区三区 | 欧美日韩亚洲国产综合 | 午夜寂寞影院在线观看 | 国内av在线 | 91精品久久久久久久久久入口 | 日韩播放 | 国产精品123区 | 久久久久欧美 | 亚洲一区二区三区桃乃木香奈 | 国产精品1 | 在线播放日韩 | 国产一区二区视频在线观看 | 免费污视频 | 四虎影院免费在线 | 免费看一区二区三区 | 亚洲网址在线观看 | 91精品国产91久久久久久最新 | 精品欧美一区二区三区久久久 | 欧美日韩三区 | 日本一本在线 | www.国产精 | xxxxxx国产 | 国产综合久久 | 蜜桃传媒av | 欧美性区 | 男女污网站 | 伊人啪啪网 | 美女天天操 | 日韩视频在线一区 |