欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

在多線程對(duì)一個(gè)整數(shù)進(jìn)行自增操作時(shí),需要用synchronized進(jìn)行同步。然而,如果synchronized的對(duì)象選取的不合適的話,就無(wú)法實(shí)現(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);
  }
}

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

原因在于count對(duì)象一直處于改變當(dāng)中,起不到兩個(gè)線程的鎖的作用。

總結(jié)

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

相關(guān)文章

  • Maven的幾個(gè)常用plugin

    Maven的幾個(gè)常用plugin

    本文主要介紹了Maven的幾個(gè)常用plugin。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • Docker和?Containerd?的區(qū)別解析

    Docker和?Containerd?的區(qū)別解析

    containerd?是一個(gè)來(lái)自?Docker?的高級(jí)容器運(yùn)行時(shí),并實(shí)現(xiàn)了?CRI?規(guī)范,它是從?Docker?項(xiàng)目中分離出來(lái),之后?containerd?被捐贈(zèng)給云原生計(jì)算基金會(huì)(CNCF)為容器社區(qū)提供創(chuàng)建新容器解決方案的基礎(chǔ),這篇文章主要介紹了Docker和?Containerd?的區(qū)別,需要的朋友可以參考下
    2024-03-03
  • java解析Excel文件的方法實(shí)例詳解

    java解析Excel文件的方法實(shí)例詳解

    在日常工作中,我們常常會(huì)進(jìn)行文件讀寫(xiě)操作,除去我們最常用的純文本文件讀寫(xiě),更多時(shí)候我們需要對(duì)Excel中的數(shù)據(jù)進(jìn)行讀取操作,下面這篇文章主要給大家介紹了關(guān)于java解析Excel文件的方法,需要的朋友可以參考下
    2022-06-06
  • Springboot基于enable模塊驅(qū)動(dòng)的實(shí)現(xiàn)

    Springboot基于enable模塊驅(qū)動(dòng)的實(shí)現(xiàn)

    這篇文章主要介紹了Springboot基于enable模塊驅(qū)動(dòng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • spring源碼下載、編譯、debug的詳細(xì)教程

    spring源碼下載、編譯、debug的詳細(xì)教程

    這篇文章主要介紹了spring源碼下載、編譯、debug的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • java中instanceof和getClass()的區(qū)別分析

    java中instanceof和getClass()的區(qū)別分析

    本篇文章介紹了,在java中instanceof和getClass()的區(qū)別分析。需要的朋友參考下
    2013-04-04
  • Spring Boot支持HTTPS步驟詳解

    Spring Boot支持HTTPS步驟詳解

    這篇文章主要介紹了Spring Boot支持HTTPS步驟詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • java socket實(shí)現(xiàn)聊天室 java實(shí)現(xiàn)多人聊天功能

    java socket實(shí)現(xiàn)聊天室 java實(shí)現(xiàn)多人聊天功能

    這篇文章主要為大家詳細(xì)介紹了java socket實(shí)現(xiàn)聊天室,java實(shí)現(xiàn)多人聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • SpringBoot修改內(nèi)置tomcat版本的操作步驟

    SpringBoot修改內(nèi)置tomcat版本的操作步驟

    生產(chǎn)環(huán)境使用的外部部署Tomcat還是內(nèi)置Tomcat由于版本安全漏洞,往往需要升級(jí)到指定的安全版本,本文演示一下SpringBoot升級(jí)內(nèi)置的Tomcat版本,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2024-07-07
  • SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式

    SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式

    這篇文章主要介紹了SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論