国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java并發之不可思議的死循環詳解

Java并發之不可思議的死循環詳解

2020-07-27 14:31jingxian Java教程

下面小編就為大家帶來一篇Java并發之不可思議的死循環詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

下面的代碼將發生死循環

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.zzj.concurrency;
 
public class VolatileObjectTest implements Runnable{
 private ObjectA objectA; // 加上volatile 就可以正常結束While循環了
  public VolatileObjectTest(ObjectA a) {
    this.objectA = a;
  }
  
  public ObjectA getA() {
    return objectA;
  }
  
  public void setA(ObjectA a) {
    this.objectA = a;
  }
  
  @Override
  public void run() {
    long i = 0;
    while (objectA.isFlag()) {
      i++;
    }
    System.out.println("stop My Thread " + i);
  }
  
  public void stop() {
    objectA.setFlag(false);
  }
  
  public static void main(String[] args) throws InterruptedException {
     // 如果啟動的時候加上-server 參數則會 輸出 Java HotSpot(TM) Server VM
    System.out.println(System.getProperty("java.vm.name"));
      
    VolatileObjectTest test = new VolatileObjectTest(new ObjectA());
    new Thread(test).start();
  
    Thread.sleep(1000);
    test.stop();
    System.out.println("Main Thread " + test.getA().isFlag());
  }
  
  static class ObjectA {
    private boolean flag = true;
  
    public boolean isFlag() {
      return flag;
    }
  
    public void setFlag(boolean flag) {
      this.flag = flag;
    }
  
  }
}

死循環發生在代碼段:

?
1
2
3
while (objectA.isFlag()) {
    i++;
}

這是由于編譯器對其進行了優化,因為while循環內部沒有修改objectA變量且沒有用volatile修飾,JVM會把判斷提前,類似于優化成如下:

?
1
2
3
4
5
if(objectA.isFlag()){
  while(true){
    i++;
  }
}

以上這篇Java并發之不可思議的死循環詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一区二区三区电影 | 亚洲色图在线观看 | 在线看一区 | 极品美女销魂一区二区三区 | 色婷婷蜜桃 | 香蕉久久av一区二区三区 | 欧美日韩一级电影 | 国产精品免费精品自在线观看 | 国产成人av在线 | 久久久在线 | 国产精品毛片无码 | 精品久久久久久久人人人人传媒 | 欧美高清一区 | 韩国理论电影在线 | 亚洲视频欧美视频 | 91免费在线视频 | 精品无码三级在线观看视频 | 一区二区日本 | 天堂va蜜桃一区二区三区漫画版 | 人人干干人人 | 国产一区二区av | 人人干日日操 | 精品国产一区二区三区日日嗨 | 一区二区三区久久 | 午夜成人在线视频 | 国产精品一区电影 | 日本久久久久久 | 最新国产在线 | 亚洲精品日韩激情在线电影 | 亚洲色图一区二区三区 | 国产精品99一区二区三区 | 亚洲国产精品一区二区久久 | 久久九| 色婷婷一区二区三区 | 中文字幕在线观看 | 人人澡人人透人人爽 | 91精品国产综合久久久久 | 免费午夜视频 | 精品国产乱码一区二区三区 | 久久极品 | jizz欧美大片 |