最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于synchronized有趣的同步問題

 更新時間:2019年01月09日 15:00:53   作者:李燦輝  
今天小編就為大家分享一篇關(guān)于關(guān)于synchronized有趣的同步問題,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

在多線程對一個整數(shù)進行自增操作時,需要用synchronized進行同步。然而,如果synchronized的對象選取的不合適的話,就無法實現(xiàn)同步的效果。如下面的例子。

public class SyncThreadTest extends Thread {
  public static Integer count = 0;
  private static final int TIMES = 10000;
  public SyncThreadTest(){
    super("SyncThread");
  }
  @Override
  public void run(){
    synchronized (count){
      for (int i = 0; i < TIMES; i ++){
        count++;
      }
    }
  }
  public static void main(String[] args) throws InterruptedException{
    SyncThreadTest t1 = new SyncThreadTest();
    SyncThreadTest t2 = new SyncThreadTest();
    t1.start();
    t2.start();
    t1.join();
    t2.join();
    System.out.println(count);
  }
}

在上面的例子中,選取了自增的變量作為同步的對象。啟動2個線程,各自對count自增10000次。最后的結(jié)果,count的值卻不是20000次。

原因在于count對象一直處于改變當中,起不到兩個線程的鎖的作用。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • DragChartPanel可拖拽曲線應用詳解

    DragChartPanel可拖拽曲線應用詳解

    這篇文章主要為大家詳細介紹了DragChartPanel可拖拽曲線的應用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Java使用Callable接口實現(xiàn)多線程的實例代碼

    Java使用Callable接口實現(xiàn)多線程的實例代碼

    這篇文章主要介紹了Java使用Callable接口實現(xiàn)多線程的實例代碼,實現(xiàn)Callable和實現(xiàn)Runnable類似,但是功能更強大,具體表現(xiàn)在可以在任務結(jié)束后提供一個返回值,Runnable不行,call方法可以拋出異,Runnable的run方法不行,需要的朋友可以參考下
    2023-08-08
  • 使用BufferedReader讀取本地文件的操作

    使用BufferedReader讀取本地文件的操作

    這篇文章主要介紹了使用BufferedReader讀取本地文件的操作,具有很好的參考價值,希望對大家有所幫助。
    2021-07-07
  • Java使用CountDownLatch實現(xiàn)統(tǒng)計任務耗時

    Java使用CountDownLatch實現(xiàn)統(tǒng)計任務耗時

    這篇文章主要為大家詳細介紹了Java如何使用CountDownLatch實現(xiàn)統(tǒng)計任務耗時的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-06-06
  • Java基礎泛型詳情

    Java基礎泛型詳情

    這篇文章主要介紹了Java基礎泛型詳情,泛型是JDK5中引入的特性,它提供了編譯時類型安全檢測機制,該機制允許在編譯時檢測到非法的類型,下面文章的詳細介紹,需要的朋友可以參考一下
    2022-04-04
  • Hadoop 使用IntelliJ IDEA 進行遠程調(diào)試代碼的配置方法

    Hadoop 使用IntelliJ IDEA 進行遠程調(diào)試代碼的配置方法

    這篇文章主要介紹了Hadoop 使用IntelliJ IDEA 進行遠程調(diào)試代碼的配置方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Springboot+QueryDsl實現(xiàn)融合數(shù)據(jù)查詢

    Springboot+QueryDsl實現(xiàn)融合數(shù)據(jù)查詢

    這篇文章主要將介紹的是 Springboot 使用 QueryDsl 實現(xiàn)融合數(shù)據(jù)查詢,文中有詳細的代碼講解,對 SpringBoot?Querydsl?查詢操作感興趣的朋友一起看看吧
    2023-08-08
  • 一文搞懂java中的棧和括號匹配

    一文搞懂java中的棧和括號匹配

    棧在我們?nèi)粘>幋a中遇到的非常多,很多人對棧的接觸可能僅僅局限在?遞歸使用的棧?和?StackOverflowException,棧是一種后進先出的數(shù)據(jù)結(jié)構(gòu)(可以想象生化金字塔的牢房和生化角斗場的狗洞)
    2023-11-11
  • 深入理解Java遺傳算法

    深入理解Java遺傳算法

    這篇文章主要為大家詳細介紹了Java遺傳算法,本文對基因的編碼采用二進制規(guī)則,分享了對Java遺傳算法的理解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Java集合和IO流實現(xiàn)水果攤項目

    Java集合和IO流實現(xiàn)水果攤項目

    最近閑來無事,使用java基礎知識集合和IO流做了一個簡單的小項目,水果攤項目,用到GUI和Mysql數(shù)據(jù)庫搭建,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-06-06

最新評論

会泽县| 喀什市| 马尔康县| 北流市| 拉萨市| 永靖县| 普洱| 汉阴县| 左云县| 麻江县| 靖州| 东兴市| 乐至县| 金湖县| 六盘水市| 玉溪市| 同江市| 开封市| 宜川县| 佛冈县| 精河县| 罗城| 沁阳市| 罗定市| 阜康市| 葵青区| 乌兰察布市| 八宿县| 峨山| 临漳县| 肃宁县| 喀什市| 梓潼县| 洛隆县| 惠水县| 柳江县| 崇义县| 旌德县| 顺义区| 灌阳县| 吉林省|