中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在java中利用volatile課余保證線程安全嗎

發布時間:2020-12-03 16:42:58 來源:億速云 閱讀:161 作者:Leah 欄目:編程語言

本篇文章為大家展示了在java中利用volatile課余保證線程安全嗎,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

java的volatile關鍵字到底能不能保證線程安全,經過實踐,volatile是不能保證線程安全的,它只是保證了數據的可見性,不會再緩存,每個線程都是從主存中讀到的數據,而不是從緩存中讀取的數據,附上代碼如下,當synchronized去掉的時候,每個線程的結果是亂的,加上的時候結果才是正確的。

/**
 * 
 * 類簡要描述
 * 
 * <p>
 * 類詳細描述
 * </p>
 * 
 * @author think
 * 
 */

public class VolatileThread implements Runnable {

 private volatile int a = 0;

 @Override
 public void run() {
  // TODO Auto-generated method stub
//  synchronized (this) {
   a = a + 1;
   System.out.println(Thread.currentThread().getName() + ":----" + a);
   try {
    Thread.sleep(100);
    a = a + 2;
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

   System.out.println(Thread.currentThread().getName() + ":----" + a);
//  }
 }

}
/**
 * 
 * 類簡要描述
 * 
 * <p>
 * 類詳細描述
 * </p>
 * 
 * @author think
 * 
 */

public class VolatileMain {

 public static void main(String[] args) {

  VolatileThread s = new VolatileThread();

  Thread t1 = new Thread(s);
  Thread t2 = new Thread(s);
  Thread t3 = new Thread(s);
  Thread t4 = new Thread(s);
  t1.start();
  t2.start();
  t3.start();
  t4.start();
  
  
/*  同步的結果
  Thread-2:----1
  Thread-2:----3
  Thread-0:----4
  Thread-0:----6
  Thread-3:----7
  Thread-3:----9
  Thread-1:----10
  Thread-1:----12*/
  
/*  
  去掉同步的結果
  Thread-0:----1
  Thread-1:----2
  Thread-2:----3
  Thread-3:----4
  Thread-0:----8
  Thread-3:----10
  Thread-1:----10
  Thread-2:----12*/
  


 }

}

上述內容就是在java中利用volatile課余保證線程安全嗎,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通州市| 米林县| 临洮县| 阳曲县| 仁布县| 清涧县| 巴南区| 昌吉市| 梓潼县| 恩施市| 宁武县| 尼木县| 淮北市| 乐都县| 商丘市| 嘉义市| 龙游县| 绿春县| 盘山县| 乳山市| 临夏市| 河西区| 五原县| 鱼台县| 疏勒县| 沽源县| 都安| 泾川县| 兴城市| 杨浦区| 资溪县| 金门县| 京山县| 霍邱县| 满洲里市| 瑞昌市| 同江市| 新源县| 永丰县| 无极县| 封丘县|